关于计算机编程的21条“规律”
Source:http://www.devtopics.com/21-laws-of-computer-programming/
简介
每个有经验的程序员都知道,在软件开发中存在着一些规律。但是,破坏了这些规律并不会得到惩罚,相反会有些许奖励。
- 任何一个程序一旦发布就意味着它已经过时了。
- 让需求根据程序调整往往要比让程序根据需求调整来得容易。
- 如果一个程序是有用的,那它必将被改变。
- 如果一个程序是无用的,那它必须被注释。
- 在任何一个程序里只有10%的代码会被执行。
- 软件会无限扩张以占用所有的系统资源。
- 任何有价值的程序都会包含至少一个错误。
- 一个演示版的程序完美无瑕的几率和关注它的人数成反比,最终要花费的金钱的数量是原数量的平方。
- 一个程序的致命错误要到其发布至少半年后才会被发现。
- 不可检测的错误是无穷无尽的,并以各种形式存在;相反,可检测的错误从理论上讲是有限的。
- 随着时间的推移,修正某个错误所需花费的精力会成指数级增加。
- 程序的复杂度会一直增长,直到超出维护它的程序员的能力为止。
- 一段你自己写的代码如果几个月不曾看过,重读的时候还不如当作是别人写的代码去理解。
- 在每个小程序里都会有一大段代码想要破壳而出。
- 你越快开始编写代码,就会需要越长的时间。
- 一个项目如果没有精心策划,那将需要比预期多出两倍的时间来完成它;相反的,如果项目是精心策划过的,就只需要多出一倍的时间。
- 向一个落后于进度的项目添加程序员只会让项目更加落后于进度。
- 一个程序的完成程度总在90%到95%之间。
- 如果你让一团糟糕的代码自动化,那你就会得到一团自动化的糟糕的代码。
- 建立一个连傻瓜都会使用的程序,而只有一个傻瓜才想要去使用它。
- 用户直到他们使用了一个程序之后才知道他们究竟想要的是什么。