做完你的项目
摘自:科技爱好者周刊(第 168 期):游戏《底特律:变人》 - 阮一峰的网络日志 https://www.ruanyifeng.com/blog/2021/07/weekly-issue-168.html
做完你的项目 如果要为 UNIX 哲学添加一个原则,我认为应该是:
"做完你的项目。"
这是我能想到的最简单、但最被忽视的软件工程准则。 大多数软件其实都没有真正完成,作者只是做出了基本功能,然后就发布了。很多软件后来不做了,也不是因为做完了,而是作者放弃了。 让我们把程序员比作木匠。你买了一把椅子,因为觉得它能满足你的需求。可是买来以后,每隔几天,木匠就会出现在你的家里,对椅子进行修改。有些变动是你想要的,有些你无所谓,还有一些变动只会让你心生反感。甚至有时候,木匠还会出错,比如木头上伸出了一些尖刺,使椅子不再可用。 你买的是椅子,而不是某种千变万化的家具,没人喜欢每天会变的椅子。 程序员也是如此,应该对软件有一个总体规划,让它有一个完整的基本功能。虽然以后可以进行维护、错误修复和安全补丁,但基本功能应该从始至终都是完整清晰的。 你不能说,因为出现了新情况,所以需要不断改变或完善它的功能。 如果一个软件一直在加功能,它就太大了,超出了你应该做的东西。你试图制造一个超出合理范围的东西,你需要画一下功能图,将过大的软件拆分成几个功能完整且合理的小软件。 总之,做完你的项目再发布。用户拿到的,应该是一个基本上做完的项目。