命名&可閱讀的代碼

1、前言

  題外:昨天看了某知乎用戶的回答頗爲感慨,大意是說如今主流是框架程序員愈來愈多,原理、架構、底層方面的愈來愈少;依賴框架快速出活的程序員工做機會比較多,公司招聘的時候也比較受歡迎。git

  不能說哪一種優秀或者比較low。只要須要就必然有存在的價值,尤爲是在快速迭代的今天,速度慢半拍可能就意味着淘汰。程序員

  今天說命名可閱讀的代碼。github

 

2、可閱讀的代碼

  寫程序就像建造一棟高樓,包括方方面面,羅馬不是一天建成的。軟件開發領域,強調命名的重要性至今都不過期。代碼開發階段在大部分應用程序生命週期中佔比都是很小的一個階段,維護階段是一個大頭,後來的人員須要閱讀你的代碼<也可能包括將來的你>才能完成工做。不少時候,維護運營階段閱讀前人的代碼,或者本身之前的代碼會有一個感受一個頭兩個大。架構

  什麼是好的命名,沒有固定答案,不過有一個原則就是:遵循團隊或者項目的命名規範,若是團隊或者項目尚未統一的命名規範,首先去建立她,而後貫徹到底。相信百分之九十九的組織都有本身的命名規範。框架

  關於註釋也在存在爭議,有的組織規定代碼不能存在註釋,有的組織要求必須寫註釋。優劣沒有定論,不過好的命名能夠是「自注釋」,能夠明確傳達代碼意圖,描述邏輯。統一的命名規則可使整個團隊保持一致。code

 

3、命名的一些實踐

  一、名字完整準確的表達其所表明的的含義、名字反應實際問題、名字「足夠長」、限定詞放在名字最後、server

  二、避免縮寫或對縮寫進行統一約定、使用約定對仗詞<begin/end、min/max、up/down>等、使用有意義的循環下標blog

  三、命名規則可以區分類名、常量、枚舉、變量生命週期

  以上簡單羅列,更多實踐,Google 一下。開發

 

4、一些例子

  一、常見的多層結構中:業務邏輯層,IxxService、xxService  ;數據訪問層,IxxDao  、xxDao 等,固然每一個組織可能不同

  二、模式語言 xxFactory 、xxObserver、xxSingleton 等

  三、.Net Framework 中API 

  四、代碼片斷    

string add;  // person address
int a;  // person age

string address;
int age;

  

5、總結&推薦閱讀

  強調命名是一個古老的話題,可是歷來都不過期。最後用一個問答,強調一下命名的重要性。

  問:如何寫出可閱讀的代碼,自注釋代碼? 答:遵循良好的命名實踐。

  推薦閱讀:

  一、《Code Complete》第11章 The Power Of Variable Names 

  二、How To Write Unmaintainable Code : https://github.com/Droogans/unmaintainable-code

  三、阿里《Java 開發手冊》 https://github.com/alibaba/p3c

相關文章
相關標籤/搜索