好湿?好紧?好多水好爽自慰,久久久噜久噜久久综合,成人做爰A片免费看黄冈,机机对机机30分钟无遮挡

主頁 > 知識庫 > 每個程序員需掌握的20個代碼命名小貼士

每個程序員需掌握的20個代碼命名小貼士

熱門標簽:地圖標注植物名稱 去哪里辦卡 鄭州中國移動400電話申請 地圖標注審核工作怎么樣注冊 無錫電銷機器人銷售 招聘信息 熱血傳奇沃瑪森林地圖標注 揭陽外呼系統公司 南召400電話辦理資費 福建ai電銷機器人加盟公司

代碼中到處都需要命名。作為程序員,我們得給類命名,給變量命名,給函數命名,給參數命名,給命名空間命名,等等等等。下面有20條小貼士能幫助你提高你的命名能力。

1.使用能夠表達意圖的名字

名字得能告訴我們它要做什么,為什么存在,以及是如何工作的。選擇能夠表達意圖的名字,將更有利于我們理解代碼。

int d; // elapsed time in days

int elapsedTimeInDays;
int daysSinceCreation;
int daysSinceModification;
int fileAgeInDays;

在上面的片段中,我們只能從注釋中知道變量d指的是什么。于是閱讀代碼的人為了知道它的含義就不得不去尋找它的實例以獲取線索。所以,要是我們能夠好好命名這個變量,閱讀代碼的人就能夠瞬間知道這變量的含義。

2.不要怕在選擇名字上花時間
你應該多試幾種不同的名字,直至足以描述其含義,千萬不要害怕在這上面花時間。以后閱讀你代碼的人(包括你自己)將會因此而受益。此外,一個描述性的名稱甚至還能有助于你在心中理清模塊的設計。良好的命名的確需要花費時間,但是從長遠來看,利大于弊。

3.重構名字
如果你在后面的開發過程中想到了一個更好的名字,那就不要猶豫,馬上去改吧。現在的IDE使得重構名字變得異常容易。

4.避免在名字中出現干擾詞
比如Manager、Processor、Data、Info以及“我不知道這叫什么”的同義詞,都是干擾詞。如果你需要使用上面這些干擾詞的話,那么說明你的命名可能太累贅了。

5.小心難以命名的類/功能
一個很難命名的類或函數很有可能是一個代碼異味。這說明:

代碼做得太多。
代碼做得還不夠。
你對此問題理解得還不夠透徹,需要先獲取更多的信息。
6.類名
類應該有個名詞或名詞詞組的名字,如Customer、WikiPage、Account和AddressParser。繼承性父類應該給個又短又有沖擊力的名字。子類的名字應該長點,通過形容詞來描述其不同于它的父類之處,如SavingsAccount衍生于Account。

7.變量名
變量名也應該是名詞。它們大多是由其指向的類衍生出去的。布爾變量應寫成謂詞的形式,如isEmpty和isTerminated,這樣放到if語句才便于理解。

8.方法名
方法名應該是一個動詞或動詞詞組,如postPayment()、deletePage()和save()。訪問器和調整器應該分別前綴get和set。返回布爾值的方法應該前綴‘is',如isPostable(),這樣在if語句中才便于理解。

9.范圍大小與變量名的長度
變量名的長度應和它的范圍大小相匹配。如果變量的范圍很短,那么變量名的長度也應該很短。反之,變量名則應該長一點,更有描述性。

10.范圍大小與方法/類名的長度
對于方法和類名的長度則應該與其范圍成反比。對于公共方法,短一點的名字會比較好,這是因為它們會被調用多次。私有方法只在類的范圍內被調用,長一點的名字反而可以作為文檔使用。此條規則的例外是派生類的名字。類越派生,基類前所加的形容詞就越多,名字也就越長。

11.一個概念一個詞
為某個抽象概念選定一個詞,然后就不要變了。例如作為不同類中的等效方法,get()、fetch()和retrieve()會讓人混淆起來。保持一致的詞匯是程序員駕馭代碼的重要工具。

12.不要將同一個詞用于兩個不同的概念
如果你遵循第11點——一個概念一個詞的原則,那么就可以避免許多有著相同方法名的類。只要參數列表和各種方法的返回值在語義上是等價的就沒問題。只有當你將同一個詞用于兩個不同的概念時才會出現問題。

例如,我們可以在多個類中使用add()方法,通過添加或連接兩個現有的值來創建一個新的值。如果我們之后又需要在類中引入一個add方法用于添加參數到集合中,這就會因為語義不同而導致問題。這種新方法最好是改叫為insert()。

13.使用解決方案領域的名字
我們編寫的代碼今后可能會有其他程序員來閱讀,所以我們使用一些技術術語進行代碼命名會帶來很大的好處。比如適當地使用算法名字、設計模式名字以及數學術語,這些命名方式很可能會讓其他程序員更容易理解程序,引起共鳴。

14.使用問題領域的名字
如果實在找不到易于理解的技術術語來命名,那么也可以從問題領域來尋找合適的代碼命名。當未來閱讀你代碼的程序員不確定代碼意義的時候,這將為他們提供一些問題的線索。

15.添加有意義的語境
大多數名字其本身是沒有意義的,并且需要放到語境(類/函數/命名空間)中,才能讓閱讀代碼的人理解它們指代的是什么。在某些情況下,可能需要前綴名稱以補充語境。例如,假設我們有一些用來表示地址的變量:firstName、lastName、street、houseNumber、city、state和zip。如果只看state這個變量,我們是很難推斷出它指的是什么意思,一個比較好的解決辦法就是將這些變量封裝到Address類中。

16.不要添加沒來由的語境
只要意思明確,短一點的名字通常比長的好,所以不要多此一舉地添加語境。名字前不應該被加綴一些可以從類/包/命名空間中推斷的不必要的信息。

17.避免編碼
鑒于現在的IDE的強大,我們已經不需要編碼類型和范圍信息到變量名和類名中。這包括不必添加I至接口,因為使用代碼的用戶不需要知道他們的類正在向接口傳遞。所以如果你一定要使用編碼,那么最好是對實現進行編碼而不是接口。

18.避免錯誤的信息
不要給一些錯誤的信息,因為這樣會誤導閱讀代碼的人。如果你將一個實際支持數組的變量命名為accountList,那就很容易讓人得出錯誤的結論。

19.使用讀不出來的名字
編程是一個社會化的活動,使用那些讀不出來的名字只會阻礙我們的討論。

20.使用易搜索的名字
使用短而通用的名字會妨礙我們在代碼庫中搜索事物。這對我們操縱代碼和重構很有影響。

最后,如有不同意見,歡迎不吝賜教。

譯文鏈接:http://www.codeceo.com/article/20-naming-tips-programmer-know.html
英文原文:20 Tips for Better Naming
翻譯作者:碼農網 – 小峰

標簽:南昌 文山 東莞 桂林 鹽城 黔南 宣城 景德鎮

巨人網絡通訊聲明:本文標題《每個程序員需掌握的20個代碼命名小貼士》,本文關鍵詞  每個,程序員,需,掌握,的,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《每個程序員需掌握的20個代碼命名小貼士》相關的同類信息!
  • 本頁收集關于每個程序員需掌握的20個代碼命名小貼士的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 性生活一级黄色片| 嗯啊揉捏| 美女动态高潮激烈XXOO270| 人人澡人人爽人人sex2020| 夜蒲团| 入禽太深免费视频完整版| 久久精品香蕉| 曰本黄大片| 成人免费网站久久久| 免费看一级一级人妻片| 国产一级不卡毛片| 毛片网站网址| 91久久精品久久国产性色也91| 男生机机捅女生| 免费成人毛片| 国产精品第八页| smyyygg最新午夜zvdy| 咸片在线网站免费观看| 91福利影院| 大胸美女被摸胸| 男女边摸边揉边做视频| 久久午夜夜伦伦鲁鲁片| 欧美一级精品AV乌克兰| 范冰冰特级A片在线观看| 欧美激情bbwhd702| 课后补习小说| 啊啊啊你轻点| 男人日女人逼视频| 忘忧草在线影视社区www| 欧美电影大尺度高污在线看| 美女把尿口给男人桶到爽软件| 一个人看aaaa免费中文| 最近中文字幕免费完整版| 扒开粉嫩细缝喷白浆sex男男| 国产精品99久久久精品| 我和大?子做爰高潮狂电影| 亚洲欧洲日韩| 一级黄色欧美片| 往下边塞玉器洛灵犀| 中国女人牲色生活片| 女性裸体秘?不遮胸图片|