微軟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持續內建環境建構及配置之配置篇。