日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

1.有意义的命名(代码的整洁之道)

發布時間:2024/4/11 编程问答 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 1.有意义的命名(代码的整洁之道) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1.有意義的命名(代碼的整潔之道)


目錄

  • 名副其實
  • 避免誤導
  • 做有意義的區分
  • 使用讀的出來的名稱
  • 使用可搜索的名稱
  • 避免使用編碼
  • 避免思維映射
  • 類名
  • 方法名
  • 每個概念對應一個詞
  • 別用雙關語
  • 使用解決方案領域名稱
  • 使用源自所涉問題領域的名稱
  • 添加有意義的語境
  • 不要添加沒有的語境
  • 注:代碼的整潔之道PDF: https://pan.baidu.com/s/16PLDWPiusGjcUfW_jgOm5w 密碼: s708


    1. 名副其實

  • 變量、函數或類的名稱應該已經答復了所有的大問題。它應該告訴你,它為什么存在,做什么事,應該怎么用。
  • int d; //消逝的時間,以日計
  • 名稱d什么也沒說明,應該選擇指明了計量對象和計量單位的名稱
  • int elapsedTimeInDays; int daysSinceCreation; int daysSinceModification; int fileAgeInDays;

    2. 避免誤導

  • 提防使用不同之處較小的名稱。比如XYZControllerForEfficientHandlingOfStrings和另一處的XYZControllerForEfficientStorageOfStrings.
  • 以同樣的方法拼寫出同樣的概念才是信息,拼寫前后不一致就是誤導。
  • 別用accountList來指一組賬號,除非它真的是List類型。List一詞對程序員有特殊意義。如果包納賬號的容器并非是個List,就會引起錯誤的判斷。所以,用accountGroup或bunchOfAccounts,甚至直接用accounts都會好一些。
  • 3. 做有意義的區分

  • 廢話是沒有意義的區分,假設你有一個Product類,還有一個ProductInfo或ProductData類,那么它們的名稱雖然不同,意思卻無區別。
  • 廢話都是冗余的,Variable一詞永遠不應該出現在變量名中。Table永遠不應該出現在表名中。
  • 要區分名稱,就要可以鑒別不同之處的方式來區分。
  • 4. 使用讀的出來的名稱

    5. 使用可搜索的名稱

  • 單字母和數字常量有個問題,很難在一大篇文字中找出來。
  • 找MAX_CLASSES_PER_STUDENT很容易,但想找數字7就麻煩了。
  • 單字母名稱僅用于短方法中的本地變量,名稱的長度應與其作用域大小相對應。
  • 6. 避免使用編碼

    7. 避免思維映射

  • 不應該讓看的人在腦中把你的名稱翻譯為他們熟知的名稱。
  • 單字母變量名就是個問題,在作用域較小、也沒有沖突時,循環計數器自然有可能被命名為i或j或k,這是因為傳統上慣用單字母做循環計數器。
  • 8. 類名

  • 類名和對象名應該是名詞或名詞短語,如Customer、WikiPage、Account和AddressParser。
  • 避免使用Manager、Processor、Data和Info這樣的類名。
  • 類名不應當是動詞。
  • 9. 方法名

  • 方法名應當是動詞或動詞短語,如postPayment、deletePage和save。
  • 10. 每個概念對應一個詞

  • 給每個抽象概念選一個詞,并且一以貫之。例如,使用fetch、retrieve和get來給在多個類中的同種方法命名,你怎么記得住哪個類中的那個方法呢?
  • 函數名稱應當獨一無二,而且要保持一致。
  • 11. 別用雙關語

    12. 使用解決方案領域名稱

  • 記住,只有程序員才會讀你的代碼,所以,盡管用計算機科學術語、算法名、模式名、數學術語。
  • 依據問題所涉領域來名稱是不可取的,因為不該讓協作者老是問客戶每個名稱的含義。
  • 對于熟悉房問題模式的程序員來說,名稱AccountVisitor富有意義。
  • 給這些事取個技術性的名稱,通常是最靠譜的做法。
  • 13. 使用源自所涉問題領域的名稱

    14. 添加有意義的語境

  • 你需要用良好的命名的累、函數或名稱空間來放置名稱,給讀者提供語境,如果沒這么做,給名稱添加前綴就是最后一招了。
  • 設想有名為firstName、lastName、street、houseNumber、city、state和zipcode的變量,當它們擱一塊的時候,明確構成了一個地址。不過假如只在某個方法看見孤零零一個state變量,就很難腿短那是地址的一部分
  • 可以添加前綴來提供語境,更好的方案是創建名為Address的類。
  • 15. 不要添加沒有的語境

  • 只要短名稱足夠清楚,就要比長名稱好。別給名稱添加不必要的語境。
  • 對應Address類的實體來說,accountAddress和customerAdderss都是不錯的名稱,不過用在類名上就不太好了。Address是個好類名。如果需要與MAC地址、端口地址和Web地址相區別,會考慮使用PostalAddress、MAC和URI,這樣的名稱更為準確,而精準正是命名的要點。
  • 總結

    以上是生活随笔為你收集整理的1.有意义的命名(代码的整洁之道)的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。