代码整洁之道(Clean Code)- 读书笔记
Sorry, 許久未更新文章了,主要因為剛剛換了一家新公司,忙于組建團隊(建設、招聘、流程、框架等)與熟悉公司業務,還有領導給的其他工作等等,實在是沒有時間更新了。最近在和團隊分享Bob大叔的《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》
總結
以上是生活随笔為你收集整理的代码整洁之道(Clean Code)- 读书笔记的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 微软发布ML.NET 1.0,可一键添加
- 下一篇: Build 2019 上微软的开源动作有