[英]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.