任何一個有經(jīng)驗(yàn)的程序員都知道,軟件開發(fā)遵循著一些不成文的法則。然而,如果你不遵循這些法則也并不意味著會受到懲罰;相反,有時你還會獲得意外的好處。下面的是軟件編程中的21條法則:


    1、任何程序一旦部署即顯陳舊。


    2、修改需求規(guī)范來適應(yīng)程序比反過來做更容易。


    3、一個程序如果很有用,那它注定要被改掉。


    4、一個程序如果沒用,那它一定會有很好的文檔。


    5、任何程序里都僅僅只有10%的代碼會被執(zhí)行到。


    6、軟件會一直膨脹到耗盡所有資源為止。


    7、任何一個有點(diǎn)價值的程序里都會有至少一個bug。


    8、原型完美的程度跟審視的人數(shù)成反比,反比值會隨著涉及的資金數(shù)增大。


    9、軟件直到被變成產(chǎn)品運(yùn)行至少6個月后,它嚴(yán)重的問題才會被發(fā)現(xiàn)。


    10、無法檢測到的錯誤的形式無限多樣,而能被檢測到的正好相反,被定義了的十分有限。


    11、修復(fù)一個錯誤所需要投入的努力會隨著時間成指數(shù)級增加。


    12、軟件的復(fù)雜度會一直增加,直到超出維護(hù)這個程序的人的承受能力。


    13、任何自己的程序,幾個月不看,形同其他人寫的。


    14、任何一個小程序里面都有一個巨大的程序蠢蠢欲出。


    15、編碼開始的越早,花費(fèi)的時間越長。


    16、一個粗心的項(xiàng)目計(jì)劃會讓你多花3倍的時間去完成;一個細(xì)心的項(xiàng)目計(jì)劃只會讓你多花2倍的時間。


    17、往大型項(xiàng)目里添加人手會使項(xiàng)目更延遲。


    18、一個程序至少會完成90%,但永遠(yuǎn)完成不了超過95%。


    19、如果你想麻煩被自動處理掉,你得到的是自動產(chǎn)生的麻煩。


    20、開發(fā)一個傻瓜都會使用的軟件,只有傻瓜愿意使用它。


    21、用戶不會真正的知道要在軟件里做些什么,除非使用過。