有些公司會使用 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 })
然後再點它們就可以串到那些程式去
參考資料
Hi,
亂馬客Blog已移到了 「亂馬客 : Re:從零開始的軟體開發生活」
請大家繼續支持 ^_^