【问题标题】:Can I avoid duplicating fields' Javadoc comments in getter/setter methods?我可以避免在 getter/setter 方法中重复字段的 Javadoc 注释吗?
【发布时间】:2012-05-29 19:23:24
【问题描述】:

我想为每个字段编写一次 Javadoc cmets,并在 getter 和 setter 方法中访问现有字段的 Javadoc。

我知道有 {@inheritDoc} 标记用于引用父方法的文档,但我想包含一个字段的文档,这当然不是父方法。

使用 Javadoc 是否可以“不重复自己”?

【问题讨论】:

标签: javadoc dry getter-setter


【解决方案1】:

除了@see,不知道如何。

但是,如果您要生成内部文档,则实际上不需要记录 getter/setter。如果您正在生成外部文档,则无论如何您都不会记录私有属性。

(说实话,由于 Java 工具链中的各种限制,我曾经有过一组相当壮观的脚本/等,它们可以处理 Java 源代码并执行类似这样的神奇事情。我放弃了一段时间以前现在 IDE 好多了,但是有一些东西,比如将多个文件编织到单个类中等等,真的很方便。有点像假的 mixins,一些 doc 魔法等等) p>

(实际上,链接到的 Spoon 项目与我正在做的非常相似,但在 1.5 之前。)

【讨论】:

  • 在 Eclipse 中,除了在 setter/getter 中包含字段文档或 @See 之外,我是否不必先导航到 setter 方法,然后将鼠标悬停在字段引用上才能访问文档?理想情况下,我只需将鼠标悬停在 getter/setter 上,然后找出我打算将该字段用于什么目的。 :)
  • @JeffAxelrod 唯一的其他选择(没有任何实际研究)是只使用 getter 和 setter,或者更好地命名它们。
【解决方案2】:

我在我的 getter 上添加 javadoc cmets 并在字段上添加 {@link MyObject#get..()}

因此,对于我的 API/对象的用户来说,它很容易阅读,如果我想获取更多信息,我(或其他开发人员)只需将鼠标悬停在我的私有字段上。

【讨论】:

    【解决方案3】:

    使用Project Lombok 可以避免这种样板。只需记录字段变量,即使它是 private,并让 Lombok 注释生成正确记录的 getter 和 setter。

    对我来说,仅此一项好处就值得costs

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-03-15
      • 1970-01-01
      • 1970-01-01
      • 2011-05-31
      • 2016-07-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多