【问题标题】:Is there a way to make Checkstyle ignore javadocs containing @link or @see?有没有办法让 Checkstyle 忽略包含 @link 或 @see 的 javadocs?
【发布时间】:2015-05-23 03:58:20
【问题描述】:

我有一些方法可以添加指向更多类的链接。 例如:

/**
 * Proxy for {@link com.company.Class#someMethod}
 */
public int someMethod(String input) {
   ...
}

目前,当我使用它运行 checkstyle 时,它​​抱怨缺少 @param 和 @return。但我不想添加这些。 请注意,此类不继承自我要链接到的类。 @see 也会发生同样的情况

有没有办法告诉 checkstyle 寻找 @link 或 @see 并忽略缺少的 javadoc 项目?

【问题讨论】:

  • 前后添加cmets://CHECKSTYLE: OFF//CHECKSTYLE: ON
  • 我想过,但我不想在代码中包含这些 cmets,因为人们可能会开始滥用它们。我想要一些更具体的东西,checkstyle 只会忽略那些方法。

标签: java javadoc checkstyle


【解决方案1】:

由于您可以接受额外的注释,请阅读http://checkstyle.sourceforge.net/config.html 章节“SuppressWarningsFilter”。在该页面查看另一种抑制 checkstyle 违规的方法。

提出新功能可能是个好主意 - “通过消息抑制”不需要任何代码更新

【讨论】:

    【解决方案2】:

    我找不到完全做到这一点的方法,但这是我所做的:

    1. 创建了一个对方法有效的自定义注解@Proxy:

      @Target(ElementType.METHOD)
      public @interface Proxy {
      }
      
    2. 每个作为另一个代理的方法都有一个@link 和一个@Proxy 注解:

      /**
       * Proxy for {@link com.company.Class#someMethod}
       */
      @Proxy
      public int someMethod(String input) {
          ...
      } 
      
    3. 在 checkstyle.xml 中添加了这个注解:

      <module name="JavadocMethod">
          <property name="allowedAnnotations" value="Override, Proxy"/>
          ...
      </module>
      

    【讨论】:

      猜你喜欢
      • 2010-12-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-01-06
      相关资源
      最近更新 更多