软件开发的21条规律

jopen 10年前

任何有经验的计算机程序员都知道,软件开发中存在着很多不成文的规律。不过违反这些规律不但不会有处罚,甚至还经常会有奖励。下面是有关于软件开发的21条规律:

1.任何给定的程序,一旦部署,就意味着已经过时。

2.修改设计以适应程序,比修改程序适应设计容易。

3.如果一个程序有用,那就必须改变。

4.如果一个程序没用,那就需要记录到文档里。

5.任何一个给定的程序里只有10%的代码会被执行。

6.软件扩展包含所有可用资源的扩展。

7.任何牛逼的程序都会有bug。

8.一个完美演示的产生概率与围观的人数成反比,与其投入成正比。

9.一个程序至少发布6个月以后,它最严重的bug才会被发现。

10.不可检测的错误有无限多种,相比之下,可检测的错误,根据定义则是有限的。

11.纠正错误所需要的工作量会随着时间的增加而成倍增长。

12.程序复杂性会不断增加,直到最终超出程序员维护能力的范围。

13.如果你几个月没有看看自己写的代码,那这些代码就跟别人写的一样了。

14.每一个小程序里,如果细细专研就能捣鼓出一个大程序。

15.越早开始写代码,所用的时间就会越长。

16.一个漫不经心的计划项目会花上三倍的预期时间才能完成,而一个精心策划的计划项目则只需要两倍。

17.在项目后期增加程序员反而会推迟项目完成时间。

18.一个程序在它90%到95%的程度上就算完成了,绝对不会超过95%,也不会少于90%。

19.种瓜得瓜,种豆得豆。如果你自己搞得一团糟,那么结果就是乱糟糟。

20.建立一个即使是傻瓜也会使用而且只有傻瓜才会想用的程序。

21.用户其实并不真正清楚他们想要程序执行什么,直到他们使用的时候。

译文链接:http://news.html5tricks.com/21-laws-programming.html
英文原文:21 Laws of Computer Programming