5

我浏览了这个论坛,并用谷歌搜索了这个论坛,但我不确定处理 Javadoc 和同一类中一起出现的注释的最佳方法是什么。

从我从 Sun/Oracle 的文档中可以看出,他们似乎建议(尽管我真的找不到明确的声明)Javadoc 应该列在注释之上。

请参阅他们的示例How and When Deprecate API's

这对于像@Deprecated 或@Override 这样简单的东西非常有用。但是如果你使用 JPA 和/或 Hibernate 呢?您的类和方法肯定会被大量注释(有时每个类或方法有两个或更多注释)。

我猜 Javadoc 仍然在注释之上?

另外我想知道如何最好地使用注释?我已经看到了一些示例,其中注释“堆叠”在类、成员、方法之上。我见过其他人在同一行列出注释(通常是这里的方法)。

哪个最好?哪个更具可读性?

您是否“记录”了您在 Javadoc 中注释某些内容的事实?

我正在寻找关于这方面的一套好的文档和/或您自己关于什么是最易读/可维护的经验。

4

2 回答 2

7

Javadoc 只是您记录类、方法等的地方。注解可以更改给定代码的功能(如来自 Hibernate 或 Spring 的注解)。所以,对我来说,很明显注释应该更接近代码(所以,在 javadoc 和方法/函数之间)。

但是如何写注解,哪里有很多呢?这取决于,我更喜欢将它们分开放置,如果有短线并以某种方式连接,则很少有例外。

我认为在 Javadoc 中明确记录您正在使用注释并不是一个好主意。注释本身可以有@Documented注释,说明它们应该出现在生成的 javadocs 中。除此之外,它是实现细节 - javadoc 应该告诉你为什么方法/对象,而不是你是如何做的(大部分,至少)。

于 2011-08-08T14:18:23.597 回答
0

我认为您正在混淆代码注释和 javadoc 注释。

javadoc 注释就是这样:注释。对于您的应用程序而言,实际包含的内容并不重要/** */(当然,除非您生成 javadoc)

代码注释实际上会影响应用程序的功能。如果您省略注释(并且不提供休眠配置文件),您的休眠映射类将不起作用。仅在 javadoc 注释中而不在代码中标记为的方法@Deprecated不会被编译器识别为已弃用。(在这种情况下,javadoc 工具可能会警告您)

所以是的,代码和 javadoc 中有一些注释同名,但它们完全不同。如果@Deprecated你应该同时使用:在代码中标记它们已弃用,并记录原因。

于 2011-08-08T14:16:46.530 回答