天天看點

你的代碼整潔嗎?

        最近,我閱讀了《代碼整潔之道》的中文版,覺得收獲頗豐!在確定程式正确的前提下,讓代碼整潔可以提高工作的效率。

        令我印象最深的就是有關“整潔代碼”的定義。在我們學習和工作的時候,可以參照這些定義修改自己的代碼,以便于閱讀,同時友善成員之間的溝通和交流。

        這些定義包括:

        Bjarne Stroustrup(C++語言發明者):我喜歡優雅和高效的代碼。代碼邏輯應當直截了當,叫缺陷難以隐藏;盡量減少依賴關系,使之便于維護;依據某種分層戰略完善錯誤處理代碼;性能調至最優,省得引誘别人做沒有規矩的優化,搞出一堆混亂來。整潔的代碼隻做好一件事。

        Grady Booch:整潔的代碼簡單直接。整潔的代碼如同優美的散文。整潔的代碼從不隐藏設計者的意圖,充滿了幹淨利落的抽象和直截了當的控制語句。

        Dave Thomas:整潔的代碼應可由作者之外的開發者閱讀和增補。它應有單元測試和驗收測試。它使用有意義的命名。它隻提供一種而非多種做一件事的途徑。它隻有盡量少的依賴關系,并且要明确地定義和提供清晰、盡量少的API。代碼應通過其表達含義,因為不同的語言導緻并非所有必需資訊均可通過代碼自身清晰表達。

        Michael Feathers:我可以列出我留意到的整潔代碼的所有特點,但其中有一條是根本性的。整潔的代碼總是看起來像是某位特别在意它的人寫的。幾乎沒有改進的餘地。代碼作者什麼都想到了,如果你企圖改進它,總會回到原點,贊歎某人留給你的代碼—全心投入的某人留下的代碼。

        Ron Jeffries:簡單代碼,依其重要順序:1)能通過所有測試;2)沒有重複代碼;3)展現系統中的全部設計理念;4)包括盡量少的實體,如類、方法、函數等。

        Ward Cunningham:如果每個例程都讓你感到深合己意,那就是整潔代碼。如果代碼讓程式設計語言看起來像是專為解決那個問題而存在,就可以稱之為漂亮的代碼。

        各位大師對于“整潔代碼”有自己的認識,那麼你又是怎麼看的呢?

繼續閱讀