優秀的程序可使複雜的東西看起來很簡單;糟糕的程序讓本來簡單的東西變得複雜。程序員

優秀的程序不須要加以說明;糟糕的程序須要大量註釋。編程

優秀的程序編寫時須要更多時間,但將來花費的時間卻更少;糟糕的程序每每花費較少的時間,但會在將來浪費掉更多時間。post

優秀的程序須要考慮當前和將來的需求;糟糕的程序只側重於如今,在將來可能沒法正常工做。spa

優秀的程序很是易於維護;糟糕的程序難以維護。.net

優秀的程序有更長的生命週期,甚至應用範圍超出預期;糟糕的程序在其工做範圍以外幾乎沒法使用。生命週期

優秀的程序如同良好的習慣,其影響將持續很長一段時間,幾乎能夠永久地解決問題;糟糕的程序如同止痛藥,其效果只有很短的時間,解決問題大可能是暫時的。get

優秀的程序是整潔的、遵照規律的;糟糕的程序是混亂的。it

優秀的程序能夠使人學到不少編程方法和經驗;糟糕的程序只能使人越學越糟。class

優秀的程序中,該重用的地方重用,該發明的地方發明;糟糕的程序會從新發明輪子,並在適合發明的地方重用。效率

優秀的程序依靠程序員的直覺和知識,並通過了多年良好程序習慣的薰陶;糟糕的程序每每盲目依賴他人的知識和經驗,而沒有本身的理解。

優秀的程序能夠很容易地從一個程序員轉移給另外一個程序員;糟糕的程序只能被編寫者理解和實施。

優秀的程序員不會刻意去記憶一段代碼,他依賴於他的邏輯思惟能力和理解,並能在將來輕鬆改善代碼;糟糕的程序員每每會記住不少本身不理解的代碼。

優秀的程序都有相同的特徵,如簡單、可讀性強、效率高;糟糕的程序各有糟糕之處。

優秀的程序比程序員存在的時間要更久;糟糕的程序存在的時間很短。