1 任何一個程序一旦發(fā)布就意味著它已經(jīng)過時了。
2 讓需求根據(jù)程序調(diào)整往往要比讓程序根據(jù)需求調(diào)整來得容易。
3 如果一個程序是有用的,那它必將被改變。
4 如果一個程序是無用的,那它必須被注釋。
5 在任何一個程序里只有10%的代碼會被執(zhí)行。
6 軟件會無限擴張以占用所有的系統(tǒng)資源。
7 任何有價值的程序都會包含至少一個錯誤。
8 一個演示版的程序完美無瑕的幾率和關(guān)注它的人數(shù)成反比,最終要花費的金錢的數(shù)量是原數(shù)量的平方。
9 一個程序的致命錯誤要到其發(fā)布至少半年后才會被發(fā)現(xiàn)。
10 不可檢測的錯誤是無窮無盡的,并以各種形式存在;相反,可檢測的錯誤從理論上講是有限的。
11 隨著時間的推移,修正某個錯誤所需花費的精力會成指數(shù)級增加。
12 程序的復(fù)雜度會一直增長,直到超出維護它的程序員的能力為止。
13 一段你自己寫的代碼如果幾個月不曾看過,那很有可能其他人也會寫出相同的代碼。
14 在每個小程序里都會有一大段代碼想要破殼而出。
15 你越快開始編寫代碼,就會需要越長的時間。
16 一個項目如果沒有精心策劃,那將需要比預(yù)期多出兩倍的時間來完成它;相反的,如果項目是精心策劃過的,就只需要多出一倍的時間。
17 向一個落后于進度的項目添加程序員只會讓項目更加落后于進度。
18 一個程序的完成程度總在90%到95%之間。
19 如果你讓一團糟糕的代碼自動化,那你就會得到一團自動化的糟糕的代碼。
20 建立一個連傻瓜都會使用的程序,而只有一個傻瓜才想要去使用它。
21 用戶直到他們使用了一個程序之后才知道他們究竟想要的是什么。