乐者为王

Do one thing, and do it well.

计算机编程的21条法则

英文原文:http://www.devtopics.com/21-laws-of-computer-programming/

任何有经验的计算机程序员都知道,有一些不成文的法则支配着软件开发。不过,违反这些法则没有惩罚,相反,经常会有奖励。以下是计算机编程的21条法则:

  1. 任何给定的程序,一旦部署,已经过时。
  2. 修改需求规范来适应程序比反过来做更容易。
  3. 如果一个程序是有用的,那它必将被修改。
  4. 如果一个程序是无用的,那它必将被文档化。
  5. 在任何给定的程序里只有10%的代码会被执行。
  6. 软件会扩展到耗尽所有可用的资源。
  7. 任何有价值的程序至少包含一个错误。
  8. 一次完美演示的概率和观看人数成反比,是所涉及金额的次幂。
  9. 一个程序投入运行至少6个月,它最有害的错误才会被发现。
  10. 不可检测的错误无限多样,相比之下,可检测的错误从定义上来讲是有限的。
  11. 修正错误所需的努力随着时间成指数级增长。
  12. 程序的复杂度会一直增长,直到超出维护它的程序员的能力。
  13. 你自己的任何代码,几个月没看,就像是别人写的。
  14. 在每个小程序里都是一个大程序蠢蠢欲出。
  15. 你开始编写一个程序越早,它花费的时间越长。
  16. 一个胡乱计划的项目需要比预期多花费3倍的时间来完成;一个精心计划的项目只需要花费2倍的时间。
  17. 往一个延迟的项目里添加程序员会使项目更加延迟。
  18. 一个程序至少能完成90%,并且至多能完成95%。
  19. 如果你想麻烦被自动处理掉,你得到的是自动产生的麻烦。
  20. 构建一个连傻瓜都会使用的程序,然后只有傻瓜想要使用它。
  21. 用户真的不知道他们想要什么样的程序,直到他们使用它为止。

Comments