簡體   English   中英

訪問自定義聲納法則中的度量(Java檢查)

[英]Access to measures in custom sonarqube rule (java check)

嗨,我正在用自定義規則檢查為Sonarqube編寫自己的插件。 規則應基於對方法或類的一些度量來報告問題。 該方法的關鍵是訪問相關指標的度量。 這是我的示例檢查類:

@Rule(key = "BrainMethod", name = "Brain method"
public class BrainMethod extends BaseTreeVisitor implements JavaFileScanner {
     private JavaFileScannerContext context;
/* (non-Javadoc)
 * @see org.sonar.plugins.java.api.JavaFileScanner#scanFile(org.sonar.plugins.java.api.JavaFileScannerContext)
 */
@Override
public void scanFile(JavaFileScannerContext context) {
    this.context = context;
   //scan the java file tree
    scan(context.getTree());
}

  /* (non-Javadoc)
 * @see org.sonar.plugins.java.api.tree.BaseTreeVisitor#visitMethod(org.sonar.plugins.java.api.tree.MethodTree)
 */
@Override
  public void visitMethod(MethodTree tree) {
    // here is the place where I want to acces to the measurements
    context.reportIssue(this, tree, String.format("Potentional brain method"));
    super.visitMethod(tree);
  }

在此規則中,有什么方法可以獲取度量的測量值,例如代碼行,復雜性或其他? 還是我使用了錯誤的方法?

沒有,沒有這樣的功能,您的自定義規則負責計算所需的內容。 您可以找到一些實用程序方法,例如context.getComplexityNodes(methodTree); 但是在那種情況下

暫無
暫無

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

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