《代碼整潔之道》(Clean Code)- 讀書筆記


一、關於Bob大叔的Clean Code

  《代碼整潔之道》主要講述了一系列行之有效的整潔代碼操作實踐。軟件質量,不但依賴於架構及項目管理,而且與代碼質量緊密相關。這一點,無論是敏捷開發流派還是傳統開發流派,都不得不承認。這本書的閱讀對象為一切有志於改善代碼質量的程序員,書中介紹的規則均來自作者Bob大叔多年的實踐經驗,涵蓋從命名到重構的多個編程方面,雖為一“家”之言,然誠有可資借鑒的價值。

  最讓我感受深刻的是封面圖片和副標題,首先是封面圖片:

  

  上面這張圖是M104:草帽星系,其核心是一個質量超大的黑洞,有100萬個太陽那么重,環繞着M104的光環就像一頂墨西哥草帽,仿佛經歷了大爆炸之后碎片四濺的產物。聯系到我們所經歷過的沒由整潔代碼風格各異不可維護的軟件項目,其實當你接手時之前的代碼都是一個個的黑洞,存在着某天會定時爆發的風險,而當它真正爆發時,接手這個項目的所有人都會因此遭殃。

  其次,再說說副標題:“細節之中自有天地,整潔成就卓越代碼”。本書講述的就是一個又一個的細節之處,不好的處理和好的處理都一一道來,讓我們形成整潔的規范。

Robert C. Martin,(Bob大叔)自1970年進入軟件行業,從1990年起成為國際軟件咨詢師。是軟件工程領域的大師級人物,是《敏捷軟件開發:原則、模式與實踐》、《敏捷軟件開發:原則、模式與實踐(C#版)》(郵電)、《極限編程實踐》(郵電)等國內引進的暢銷書的作者,其中第一本原著榮獲美國《軟件開發》第13屆震撼(Jolt)大獎,Martin的敏捷系列書是軟件工程界的權威書籍。

二、Clean Code精華筆記

文不如表,表不如圖,奉上一張思維導圖:

三、.NET平台的代碼規范插件使用

3.1 StyleCop.Analyzers介紹

  StyleCop.Analyzers是一個開源的代碼風格規則的審查項目,其github地址為:https://github.com/DotNetAnalyzers/StyleCopAnalyzers,用於.NET編譯器平台的StyleCop分析器,該存儲庫包含使用.NET編譯器平台的StyleCop規則的實現。 在可能的情況下,還會提供代碼修復以簡化糾正違規的過程。

  它具有以下幾個好處:

  • 可以支持 C# 6
  • 使用 Roslyn 解析器,減少了自定義解析器的性能消耗
  • 當你寫代碼的時候解析器就會運行,當你編譯的時候也會運行(不需要再設置 msbuild 任務或者安裝任何 vs 插件)

  最近我們團隊就采用了StyleCop.Analyzers作為代碼審查插件,並將重要的規則設定為了Error級別,即如果你不改正編譯不會通過。其實,Resharper也是一款不錯的工具,但是因為其收費和重量級的特性,被我放棄了。

3.2 StyleCop.Analyzers安裝

  為需要進行代碼風格審查的.NET項目Nuget上直接搜索:StyleCop.Analyzers即可,目前最新版本為1.0.2.

  

3.3 設置規則列表

  這里我分享一個我們團隊篩選過后的Ruleset文件(點我下載),它將作為StyleCop.Analyzers的分析基准,我一般將其放在解決方案的Solution Items中,即解決方案層級中(和Dockerfile類似放在項目層級中)

  

3.4 編輯具體項目的項目文件(csproj)

  為每個需要進行代碼風格/規則審查的項目指定需要基准的Ruleset文件:(通過編輯項目文件)

  

3.5 測試代碼風格檢查

  寫了一些代碼之后,編譯,查看錯誤信息窗口:

  

  可以看到未滿足代碼規則的點都被檢查出來,只有改正之后才可以編譯通過。

  最后,再次回顧一下《代碼整潔之道》的副標題:

“細節之中自有天地,整潔成就卓越代碼”  

參考資料

  Robert C.Martin著,《代碼整潔之道》

  

  soulless,  《C# 代碼規范和質量檢查工具 StyleCop.Analyzers

  DotNetAnalyzers,《Using StyleCop Analyzers with .NET Core

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM