使用StyleCop進行代碼審查

使用StyleCop進行代碼審查

轉至:http://www.cnblogs.com/JerryTian/archive/2012/09/22/2697703.html

工欲善其事,必先利其器,上篇簡單介紹了怎樣使用Astyle進行代碼格式化,使編寫的代碼具有一致的風格。今天簡單介紹下怎樣使用StyleCop對原代碼進行審查,看編寫的代碼是否遵循設計規範、.Net約定和一些貫用法等。保證代碼的一致性,可讀性等等。

 

在此之前,先簡單介紹下FxCop(起初只是微軟內部使用的工具),一個分析託管程序集,檢測代碼的總體正確性的工具,告訴用戶哪些地方不符合設計規範。他使用的評估規則已經發展了多年,凝聚了頂尖.Net框架開發人員的知識和技術。但是FxCop是基於託管代碼分析的,即編譯後的程序集。今天我們介紹的StyleCop同樣是用來檢查代碼是否符合設計規範的,它是基於原代碼驗證的,僅支持C#語言,就是在開發期間進行代碼驗證的工具,相信在日常開發中,會幫助到大家,在使用工具的同時,逐漸改善和提高大家的編碼規範和意識,另外,相關內容推薦大家讀下《.Net設計規範-.Net約定、貫用法與模式》這本書。好了,入題:

 

首先,還是先下載最新版的StyleCop.

下載地址:http://stylecop.codeplex.com/

當前最新版本是StyleCop-4.7.37.0.msi,版本4.7,下載完成後,開始安裝,安裝過程非常簡單,這裏就不上圖了。安裝完成後,好像沒什麼反應,在開始菜單也不會出現相關菜單。沒關係,現在打開Visual Studio,我以Visual Studio2010爲例,見下圖:


 

在項目菜單上會出現StyleCop相關菜單。

點擊“Run StyleCop”,呵,警告一大堆,見下圖:

StyleCop已經把不符合規範的相關警告全部列出,並且已經定位到行和列,雙擊任一條項目即可定位到問題點。


 

也可以基於單個文件進行檢查,只要在當前代碼頁右鍵點擊“Run StyleCop”即可,見下圖:

 

其中檢驗的規則可在項目名稱的右鍵菜單“StyleCop Settings”中設定,見下圖,使用中發現對中文支持的不是很好。其中一些不適用的校驗規則可以不勾選即可。

 

下面主要對一些常見的警告簡單說明:

 

SA1633 : CSharp.Documentation : The file has no header, the header Xml is invalid, or the header is not located at the top of the file.

代碼不包含文件頭說明,格式如下。

//-----------------------------------------------------------------------

// <copyright file="Widget.cs" company="Sprocket Enterprises">

//     Copyright (c) Sprocket Enterprises. All rights reserved.

// </copyright>

// <author>John Doe</author>

//-----------------------------------------------------------------------

 

SA1507 : CSharp.Layout : The code must not contain multiple blank lines in a row.

代碼部分存在多個空格

 

SA1600 : CSharp.Documentation : The method must have a documentation header.

方法必須要頭部說明,只要在方法前鍵入3個斜槓,IDE自動會根據該方法生成相關頭文檔說明。

 

SA1400 : CSharp.Maintainability : The class must have an access modifier.

類必須要有一個訪問修飾符,如:public、private等。

 

SA1513 : CSharp.Layout : Statements or elements wrapped in curly brackets must be followed by a blank line.

語句之間要有空行。

 

SA1202 : CSharp.Ordering : All private methods must be placed after all public methods.

私有方法要放在公有方法子後。

 

SA1650 : CSharp.Documentation : The documentation text within the summary tag contains incorrectly spelled words: 異常測試

這個是對中文支持的不夠好。拼寫檢查識別不到。

其他還有常見的變量首字母小,常量首字母大寫,等等常規檢查,其它規則請參見StyleCop使用說明。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章