任何一個(gè)有經(jīng)驗(yàn)的程序員都知道,軟件開發(fā)遵循著一些不成文的法則。然而,如果你不遵循這些法則也并不意味著會(huì)受到懲罰;相反,有時(shí)你還會(huì)獲得意外的好處。 下面的就是軟件編程中的21條法則: 1. 任何程序一旦部署即顯陳舊。 2. 修改需求規(guī)范來適應(yīng)程序比反過來做更容易。 3. 一個(gè)程序如果很有用,那它注定要被改掉。 4. 一個(gè)程序如果沒用,那它一定會(huì)有很好的文檔。 5. 任何程序里都僅僅只有10%的代碼會(huì)被執(zhí)行到。 6. 軟件會(huì)一直膨脹到耗盡所有資源為止。 7. 任何一個(gè)有點(diǎn)價(jià)值的程序里都會(huì)有至少一個(gè)bug。 8. 原型完美的程度跟審視的人數(shù)成反比,反比值會(huì)隨著涉及的資金數(shù)增大。 9. 軟件直到被變成產(chǎn)品運(yùn)行至少6個(gè)月后,它最嚴(yán)重的問題才會(huì)被發(fā)現(xiàn)。 10. 無法檢測到的錯(cuò)誤的形式無限多樣,而能被檢測到的正好相反,被定義了的十分有限。 11. 修復(fù)一個(gè)錯(cuò)誤所需要投入的努力會(huì)隨著時(shí)間成指數(shù)級增加。 12. 軟件的復(fù)雜度會(huì)一直增加,直到超出維護(hù)這個(gè)程序的人的承受能力。 13. 任何自己的程序,幾個(gè)月不看,形同其他人寫的。 14. 任何一個(gè)小程序里面都有一個(gè)巨大的程序蠢蠢欲出。 15. 編碼開始的越早,花費(fèi)的時(shí)間越長。 16. 一個(gè)粗心的項(xiàng)目計(jì)劃會(huì)讓你多花3倍的時(shí)間去完成;一個(gè)細(xì)心的項(xiàng)目計(jì)劃只會(huì)讓你多花2倍的時(shí)間。 17. 往大型項(xiàng)目里添加人手會(huì)使項(xiàng)目更延遲。 18. 一個(gè)程序至少會(huì)完成90%,但永遠(yuǎn)完成不了超過95%。 19. 如果你想麻煩被自動(dòng)處理掉,你得到的是自動(dòng)產(chǎn)生的麻煩。 20. 開發(fā)一個(gè)傻瓜都會(huì)使用的軟件,只有傻瓜愿意使用它。 21. 用戶不會(huì)真正的知道要在軟件里做些什么,除非使用過。 |