作者在 2011-12-01 20:06:59 发布以下内容
任何一个有经验的程序员都知道,软件开发遵循着一些不成文的法则。然而,如果你不遵循这些法则也并不意味着会受到惩罚;相反,有时你还会获得意外的好处。洛阳北大青鸟教员结合自己多年的教学经验,总结了简单软件编程中的21条法则如下:
1任何程序一旦部署即显陈旧。
2修改需求规范来适应程序比反过来做更容易。
3一个程序如果很有用,那它注定要被改掉。
4一个程序如果没用,那它一定会有很好的文档。
5任何程序里都仅仅只有10%的代码会被执行到。
6软件会一直膨胀到耗尽所有资源为止。
7任何一个有点价值的程序里都会有至少一个bug。
8原型完美的程度跟审视的人数成反比,反比值会随着涉及的资金数增大。
9软件直到被变成产品运行至少6个月后,它最严重的问题才会被发现。
10无法检测到的错误的形式无限多样,而能被检测到的正好相反,被定义了的十分有限。
11修复一个错误所需要投入的努力会随着时间成指数级增加。
12软件的复杂度会一直增加,直到超出维护这个程序的人的承受能力。
13任何自己的程序,几个月不看,形同其他人写的。
14任何一个小程序里面都有一个巨大的程序蠢蠢欲出。
15编码开始的越早,花费的时间越长。
16一个粗心的项目计划会让你多花3倍的时间去完成;一个细心的项目计划只会让你多花2倍的时间。
17往大型项目里添加人手会使项目更延迟。
18一个程序至少会完成90%,但永远完成不了超过95%。
19如果你想麻烦被自动处理掉,你得到的是自动产生的麻烦。
20开发一个傻瓜都会使用的软件,只有傻瓜愿意使用它。
21用户不会真正的知道要在软件里做些什么,除非使用过。
1任何程序一旦部署即显陈旧。
2修改需求规范来适应程序比反过来做更容易。
3一个程序如果很有用,那它注定要被改掉。
4一个程序如果没用,那它一定会有很好的文档。
5任何程序里都仅仅只有10%的代码会被执行到。
6软件会一直膨胀到耗尽所有资源为止。
7任何一个有点价值的程序里都会有至少一个bug。
8原型完美的程度跟审视的人数成反比,反比值会随着涉及的资金数增大。
9软件直到被变成产品运行至少6个月后,它最严重的问题才会被发现。
10无法检测到的错误的形式无限多样,而能被检测到的正好相反,被定义了的十分有限。
11修复一个错误所需要投入的努力会随着时间成指数级增加。
12软件的复杂度会一直增加,直到超出维护这个程序的人的承受能力。
13任何自己的程序,几个月不看,形同其他人写的。
14任何一个小程序里面都有一个巨大的程序蠢蠢欲出。
15编码开始的越早,花费的时间越长。
16一个粗心的项目计划会让你多花3倍的时间去完成;一个细心的项目计划只会让你多花2倍的时间。
17往大型项目里添加人手会使项目更延迟。
18一个程序至少会完成90%,但永远完成不了超过95%。
19如果你想麻烦被自动处理掉,你得到的是自动产生的麻烦。
20开发一个傻瓜都会使用的软件,只有傻瓜愿意使用它。
21用户不会真正的知道要在软件里做些什么,除非使用过。