【问题标题】:Custom PMD Rule - Check Package Comment In Place自定义 PMD 规则 - 检查包注释到位
【发布时间】:2011-01-11 02:52:59
【问题描述】:

我正在尝试编写一个规则来强制一个包包含带有特定表达式的 Javadoc 注释,例如:

/**
 * Example Expression
 */

有人知道我将如何使用 AbstractJavaRule 类编写这样的规则。我查看了 ASTPackageDeclaration,但这似乎没有我想要的。

提前非常感谢...

【问题讨论】:

    标签: java static-analysis pmd


    【解决方案1】:

    PMD 使用 JavaCC 将每个 java 文件解析为抽象语法树。通常用于编译的解析器只删除 cmets,根据我在"How to write a rule" 页面上收集到的信息,PMD 也从 AST 删除 cmets。

    但是看PMD论坛,确实像comments are preserved as a SPECIAL_TOKEN,但是很难将它们与它们关联的AST节点对齐。所以你可能很难写出这条规则。你看过Checkstyle吗?它有一个RegexpHeader rule,可以做你想做的事。

    【讨论】:

    • 很好的回应,谢谢。我今天去看看,看看我是否可以得到带有PMD的cmets。我在设计规则部分看到了对 UncommentedEmptyMethod 的检查。看起来很有宣传,如果失败了,我会去 Checkstyle 并尝试一下。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-09-21
    • 1970-01-01
    • 1970-01-01
    • 2019-02-22
    相关资源
    最近更新 更多