簡體   English   中英

Static 方法/功能級別的分析工具?

[英]Static Analysis Tools at Method/Function Level?

最近我開始使用 static 分析工具,例如 sonarqube 和 Teamscale。

但是,它們僅顯示項目/包/類級別的指標。 我對評估 Java 方法的質量特別感興趣,但我發現在方法級別返回結果的唯一工具是 Sourcemeter 和 Sonarqube 的相應插件。

是否還有其他提供方法級別指標的 static 分析工具?

您可以嘗試JArchitect ,它在方法級別為您提供了許多指標,包括架構/設計/實施指標。 通過使用其代碼查詢語言,您可以輕松准確地查詢您想要的指標,並根據現有指標計算您自己的指標。

// <Name>Avoid methods too big, too complex</Name>
warnif count > 0 from m in JustMyCode.Methods where 
    (m.NbLinesOfCode > 35 ||
   m.CyclomaticComplexity > 20)

  let complexityScore = m.NbLinesOfCode/2 + m.CyclomaticComplexity 

  orderby complexityScore descending,
          m.CyclomaticComplexity descending
select new { 
   m, 
   m.NbLinesOfCode,
   m.CyclomaticComplexity, 
   complexityScore,

   Debt = complexityScore.Linear(30, 40,    400, 8*60).ToMinutes().ToDebt(),

   // The annual interest varies linearly from interest for severity minor 
   // to interest for severity major
   AnnualInterest = complexityScore .Linear(30,     Severity.Medium.AnnualInterestThreshold().Value.TotalMinutes, 
                                            200, 2*(Severity.High.AnnualInterestThreshold().Value.TotalMinutes)).ToMinutes().ToAnnualInterest()

}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM