軟件開發的21條規律
任何有經驗的計算機程序員都知道,軟件開發中存在著很多不成文的規律。不過違反這些規律不但不會有處罰,甚至還經常會有獎勵。下面是有關于軟件開發的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