怎么樣才算是整潔的代碼?
1
怎么樣才算是真正整潔的代碼呢?為什么整潔如此重要?
Marry Poppendieck在她精彩的演講《軟件開發中的刻意練習》中,重點講述了我們這個行業的一些權威人士對于代碼整潔性的定義。
Bjarne Stroustrup,C + +的創造者:
我喜歡優雅高效的代碼,因為這樣的代碼邏輯性強,直截了當,bug無所遁形,依賴性低,易于維護,能策略化地處理各種異常情況,性能接近最優,還能避免人們隨意和無原則并最終將導致雜亂無章的優化。整潔的代碼讓上述每一件事都顯得井井有條。
Grady Booch,《面向對象分析與設計的經典之作》的作者:
整潔的代碼簡單直接, 好像優美的散文,娓娓述說著設計師的意圖,有一種明快的節奏感。
大Dave Thomas,OTI的創始人、Eclipse戰略之父:
整潔的代碼易讀易懂,其他開發人員也能心領神會,一般會有單元測試和驗收測試,變量名也有一定含義,能為我們解決問題提供某種清晰的思路。其相關性也低,這一點是很重要,還有就是API很少。代碼應該清晰流暢易懂,但是沒用必要所有的信息都一股腦兒全寫進去。
Michael Feathers,《修改代碼的藝術》一文的作者:
整潔的代碼給我們帶來的好處數不勝數,而且與旁的一比,總體質量高下立現。整潔的代碼就如同一位精心裝飾的女子,一眼看去,感覺增一分則艷,刪一分則素,恰如其分。幾乎所有的事情都考慮到了,甚至即便你想試著改進,也完全無從下手。
Ward Cunningham,Wiki 和Fit的發明者、Extreme Programming的聯合創始人、設計模式的中流砥柱、Smalltalk和面向對象的思想領袖。
你知道代碼整潔是什么感覺嗎?那就是,你讀到的每個步驟比你預期所想的還要好。有時候我們甚至可以稱之為代碼模本,因為它就像專門為解決這個問題而生的。
小結
整潔的代碼:
- 明白易懂(直截了當、清晰明了、恰當的抽象層次、不故弄玄虛、變量命名有規則)——要說優點,這一條排第二,就沒有第一了。
- 服務于現實世界,有明確的異常處理策略(我有很多項目都是因為這一點而付之一炬,所以,放上這一條,稍稍帶了點感情色彩)。
- 可讀性和可維護性。
- 流程最簡化,依賴性最小化。
- 程序運行良好。
英文原文:What Is Clean Code? – In Quotes
翻譯作者:IT新聞 – 蔣麗麗