前言
在多人協同開發專案時,常常會有寫作風格不一致的問題,會讓新加入團隊的成員無法適應。有些團隊會制定coding standard,但如果沒有自動審核與把關的機制,很容易就會流於形式。在Visual Studio的專案,可以使用StyleCop這個工具來輔助我們讓團隊成員遵循我們所設定好的coding rule,同時StyleCop也可以與CI整合,定時幫我們review程式碼,看是不是有不符合規範的程式碼。
本文範例使用Visual Studio 2017 專案來當作範例
下載與安裝StyleCop
- 到Visual Studio, 工具-> 擴充功能與更新
- 尋找StyleCop,下載並安裝
- 打開專案,在專案上按右鍵,如果有出現圖中這三個選項即安裝完成
如何使用
當你對你的C#檔案按右鍵,就會出現Run StyleCop,按下去執行完成後,下面的警告欄就會顯示你的程式碼違反了哪一些規則
點擊警告欄即可跳至該修改的地方,以下圖的例子來說,我點了SA1600那條警告,指標就會移到Class上,這條的警告是我的Class上面沒有寫Summary
我補上了Summary之後,重新執行,警告就會消失了
StyleCop 規則設定
StyleCop提供了很多規則,在團隊的使用上可以依照團隊的需求制訂規則。
在專案上按右鍵,選擇StyleCop Setting
即會出現規則選擇視窗,依照不同的需求挑選
選擇完規則後,會儲存至專案資料夾下的Settings.StyleCop檔案,未來如果有方案或其他專案要使用這份規則,就放到方案或專案資料夾下,就會自動套用規則了
StyleCop與MSBuild整合
StyleCop有提供與MSBuild整合的機制,可以讓你的專案在建置的同時去執行StyleCop的程式碼分析,將結果標示為警告或是建置錯誤。
從Nuget上安裝StyleCop.MSBuild套件
安裝完成後,專案建置時就會執行StyleCop,會在警告欄顯示沒有通過的規則
將StyleCop警告視為建置失敗
調整專案的StyleCop設定,可以將StyleCop警告視為失敗
在專案上按右鍵,選擇卸載專案
在專案上按右鍵,選擇編輯專案
找到StyleCopTreatErrorsAsWarnings這個設定,設定為false,讓StyleCop的警告視為建置錯誤,完成後重新載入專案
重新對專案建置之後就會出現建置錯誤了
結語
有了StyleCop,可以讓專案的所有開發人員,撰寫風格一致的程式碼,提高可讀性,也降低新進開發人員的閱讀程式碼門檻。同時透過工具的輔助,可以更有效率的去修改成風格一致的程式碼。還可以與Jenkins整合,定時檢視專案的程式碼是不是有不符合規則的地方,就可以在第一時間修正。
最後我附上我自己或是團隊開發時所設定的規則當作參考,不一定符合你們自己的團隊或個人開發習慣,請斟酌使用。
StyleCop Setting - 按此下載