天天看點

備援代碼檢查工具Simian

微軟web2.0開發示例Kobe,重蹈了Oxite的覆轍。Ayende連續發表了五篇高品質的Kobe探讨貼:

  • Kobe – In the nuts & bolts and don’t really liking it
  • Kobe – Data Access done wrong
  • Kobe – When the documentation is the only delivery that matters
  • Kobe – an example of exception handling done wrong
  • Kobe – Architectural Overview

Ayende使用Simian工具對代碼進行靜态分析,發現位于67個檔案中的873個方法共有5138行代碼是重複的。進入正題,介紹一下Simian這個備援代碼檢查工具,目前的版本是2.2.24,不光是c#代碼,它也可以用來檢查C, C++, COBOL, Ruby, JSP, ASP, HTML, XML, Visual Basic等格式的代碼。simian并非免費工具,如果你用它來檢查開源代碼或非商業代碼的話,它是免費使用的,如果是商業應用的話,就需要付費了。  

使用方法:

    到官方站點上下載下傳最新的版本,下載下傳完畢後,将檔案解壓,将simian所在的路徑添加到windows環境變量path下,同時,将simian-2.2.24.exe的檔案名改成simian.exe,這樣友善我們的使用,simian是指令行工具,在cmd中運作simian即可:

c:\>simian.exe [options] files           

複制

下面介紹具體的使用方法:

  • 檢查包括子目錄下的所有的c#檔案:

"-includes=*.cs"

  • 檢查目前目錄下的所有c#檔案 ,并且隻檢查代碼3行以上重複的代碼

-threshold=3 "*.cs"

  • 檢查所有的c#檔案:

"*.cs"

使用指令行輸出的話,對于代碼的定位不是很友善,可以通過Visual Studio的外部工具(參看http://blogs.conchango.com/howardvanrooijen/archive/2006/02/08/2776.aspx)或者Howard van Rooijen's 寫的一個工具MonkeyWrangler。也可以整合到持續內建中,可參看DotNet持續內建環境建構及配置之安裝篇,DotNet持續內建環境建構及配置之配置篇。