軟體品質靜態分析的好工具 NDepend

有些公司會使用 SonarQube 來做軟體品質靜態分析。
它從 Source Control 拉程式碼到 Server 做分析。
那在程式碼 commit 前是否可以先幫我們分析,
然後讓我們做好改善呢? 
這時我們可以使用 NDepend 這個工具,
它可以獨立執行,也可以在 VS.NET 中執行。

安裝

從 NDepend 下載後,它是一個 Zip 檔,解開來放在某個 Folder 就可開始執行,如下。

NDepend.Console.exe

它是 console 程式,所以直接開啟 command 視窗,就可以操作它,如下,


分析結果如下,

NDepend.VisualStudioExtension.Installer.exe

安裝 NDepend Extension 到 VS.NET IDE 中(Support 2010 ~ 2017),如下,

使用方式

開啟開發人員常用的 VS.NET ,就可以發現 Menu 上面多了 NDepend ,
我們可以從 Start Page 開始,開啟之前的 NDepend 專案,如下,




也可以新增一個 NDepend 專案來分析,如下,



分析好了之後,可以查看有什麼 Rules Violated ,如下,


我們也可以新增 Rule ,如下,

另外, NDepend 提供 CQL (Code Query Language) ,我們可以下 Like LINQ 的方式來查詢,

而不需要使用 Find 來 Search,例如 我想找 Method Name 中有 WebHook ,並顯示誰 Call 這個 Method ,

就可以下 

Methods.Where(m=>m.NameLike("WebHooks")).Select(m=>new {m, m.MethodsCallingMe })
 


然後再點它們就可以串到那些程式去 

參考資料

NDepend

Hi, 

亂馬客Blog已移到了 「亂馬客​ : Re:從零開始的軟體開發生活」

請大家繼續支持 ^_^