怎样才能写出好的软件程序

最近有个人发 Email 问我:“怎样才能写出好的软件程序”。之前,我身体有点不舒服,所以我漫无边际的说了下。现在好多了,所以我想分享一下以下这些想法,因为我觉得这些对于这次重要的讨论来说是一个有趣的起点。

NetSmell 出品

最近有个人发 Email 问我:“怎样才能写出好的软件程序”。之前,我身体有点不舒服,所以我漫无边际的说了下。现在好多了,所以我想分享一下以下这些想法,因为我觉得这些对于这次重要的讨论来说是一个有趣的起点。

当时,我写道:

  • 好程序并不只是可以编译而已,它还会沟通。它会和现在的你交谈,也会和以后维护代码的你交谈。它对于你的团队和任何外部来查看的人来说都是可以被理解的。
  • 好程序对可靠性和可测试性的要求胜过聪明的小技巧。如果需要清晰的表明自己的意图和结果,好程序会更倾向于使用一个或多个额外的步骤来表达。
  • 好程序也考虑其使用程度,一段代码一次跑一百万遍和只跑一遍的要求是不同的,就好比在树林里的一棵树和孤零零的一棵树那样。
  • 好程序即使被分解了也可以成为合理的单元,而不是大规模的单一的实现。
  • 好程序不仅仅是实现一次或两次,而且还要审查和重构。这才有可能让它成为最好的和最健壮的实现。
  • 好程序会考虑到全球化,并提供给不同文化的潜在用户。添加国际化以及相关的可访问性,这些真的是代码层面的事情,而不是嘴上说说的马后炮而已。
  • 好程序不仅仅考虑今天具体运行在什么环境上,也考虑如何适应这些可能随时间变化的环境。

以上是我想到的,你对我关于这个“好程序是怎样炼成的”话题列出的清单有什么想添加、删除、修改的?期待看到你们的想法。

更新

Seivan Heidari 建议添加:好程序会在作为 API 为外面调用时,不提供内部的实现细节。

Anonymous 建议添加:好程序是浑然天成的。好程序可以照你需要的样子执行,且能被按时交付,其余的都是扯蛋哈哈。

Dave DeLong 建议添加:好程序会让读的人产生敬畏,并使读的人受到启发从而也去写自己的好程序。

Paul Cantrell 建议添加:好程序会注意权衡。它会根据工程来权衡,而不是按照绝对的教条。它也不会让工具或技术成为组内状态标记(in-group status markers)。

Rainer Brockerhoff 建议添加:好程序可以被很轻松的重用(即使是在几年之后),也能只用几行代码来进行扩展或改编。

显示余下内容
 

发表评论

电子邮件地址不会被公开。 必填项已用*标注