|
最近研究了fxcop,有些心得,寫出來分享一下。
FxCop介紹:
FxCop是一個代碼分析工具,它依照微軟.NET框架的設計規范對托管代碼assembly進行檢查。它使用基于規則的引擎,來檢查出你代碼中不合規范的部分;你也可以定制自己的規則加入到這個引擎。
還有一款很流行的代碼檢測工具叫做StyleCop。之所以選擇使用FxCop有兩個原因,首先是StyleCop不支持VB.NET,而我們用VB.NET做后臺開發的。第二是FxCop有非常強大的定制規則引擎的能力,這方面的能力StyleCop不如FxCop。
FxCop使用:
1、下載FxCop
最新版本的是FxCop 10.0。我是使用FxCop 1.36版的。FxCop 10.0可以到微軟的官網下載。FxCop 1.36可以到床上等你上下載。微軟的1.36這個版本的下載鏈接好像失效了。
2、安裝:略
3、運行界面:
1)、打開FxCop程序,單擊“Project”|“Add Targets”命令,添加待檢查的程序集,可添加多個。
2)、打開FxCop程序,單擊“Project”|“Add Rules”命令,添加自定義的規則,可添加多個。
3)、單擊工具欄上的“Analyze”按鈕,FxCop將自動執行檢測,檢測完畢后,結果將在右側的列表中顯示。單擊某個列表項,FxCop下方將顯示該結果的詳細信息。如圖上圖所示。
這里使用的都是微軟自帶的規則,你還可以自定義規則,見下一節。
FxCop自定義引擎:
FxCop能實現自定義的引擎規則,這里我用個例子來說明。例子是參數命名使用Camel命名規范,格式為:對象類型+對象描述。
1、用vs2008創建一個 class library。fxcop還需要一個定義規則的XML文件。TypeName表示定義一規則的類名。Description表示錯誤信息。將此xml定義成嵌入的資源。
<?xml version="1.0" encoding="utf-8"?>
<Rules FriendlyName="自定義規則">
<Rule TypeName="FunctionParametersCheck" Category="參數命名規范" CheckId="C10001">
<Name>參數命名請采用Camel命名規范</Name>
<Description>
參數命名請采用Camel命名規范,格式為:對象類型+對象描述。
</Description>
<Url>www.cnblogs.com/zhuqil</Url>
<Resolution>
函數{0}的參數{1}命名不符合Camel命名規范,格式為:對象類型+對象描述。
Integer int intQuantity
String str strFname
</Resolution>
<Email>[email protected]</Email>
<MessageLevel Certainty="80">Warning</MessageLevel>
<FixCategories>NonBreaking</FixCategories>
<Owner>skylin</Owner>
</Rule>
</Rules>
NET技術:通過FxCop來驗證.NET編碼規范,轉載需保留來源!
鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。