[料理佳餚] Jenkins 增加 SourceMonitor Plugin

SourceMonitor 是用來檢測程式碼的複雜度,雖然程式碼的複雜度沒有一個絕對值,但是檢測出來的值有其參考價值的。

當我們發現某些 method 的複雜度比其他 method 高的時候,我們可以去看看這些 method 是出了什麼事?有沒有降低複雜度的機會?

安裝 SourceMonitor

http://www.campwoodsw.com/sourcemonitor.html 下載到 Jenkins Server 上安裝起來。

安裝 HTML Publisher Plugin

SourceMonitor 的結果沒辦法給 Report Violation 來幫助我們視覺化,所以我安裝了 HTML Publisher Plugin 用來幫助把 SourceMonitor 偵測的結果視覺化。

添加建置步驟 - 執行 Windows 批次指令

這裡需要額外的一個工具 msxsl,到微軟的官網直接下載使用即可,它的作用在於將 SourceMonitor 的結果轉成 html。

添加建置後動作 - Publish HTML reports

把輸出後的 SourceMonitor.html 填入 Index page(s) 欄位,並且給它一個 Report title。

Demo

顯示前 30 個程式碼複雜度最高的 method

顯示前 30 個 Block 巢狀深度最深的行號