开发者

codestyle; put javadoc before or after annotation?

开发者 https://www.devze.com 2023-01-04 19:36 出处:网络
I know that it isn\'t the most vital of issues, but I just realised that I can put the javadoc comment block before or a开发者_如何转开发fter the annotation. What would we want to adopt as a coding st

I know that it isn't the most vital of issues, but I just realised that I can put the javadoc comment block before or a开发者_如何转开发fter the annotation. What would we want to adopt as a coding standard?

/**
 * This is a javadoc comment before the annotation 
 */
@Component
public class MyClass {

    @Autowired
    /**
     * This is a javadoc comment after the annotation
     */
    private MyOtherClass other;
}


Before the annotation, since the annotation is code that "belongs" to the class. See examples with javadoc in the official documentation.

Here's a random example I found in another official Java page:

/**
 * Delete multiple items from the list.
 *
 * @deprecated  Not for public use.
 *    This method is expected to be retained only as a package
 *    private method.  Replaced by
 *    {@link #remove(int)} and {@link #removeAll()}
 */
@Deprecated public synchronized void delItems(int start, int end) {
    ...
}


I agree with the answers already given.

Annotations are part of the code while javadoc is part of the documentation (hence the name).

So for me it seams reasonable to keep the code parts together.


Aside from the coding standard, it seems that javadoc tool doesn't process the javadoc comments if they are placed after the annotations. Works fine otherwise.


It all comes down to readablity. In my opinion code is more readable with the Annotations directly above the method/field.


I agree with all of the above. It may be helpful to others that IntelliJ (Idea)'s code style templates fail both falsely positive (when @throws is specified correctly, it warns) and falsely negative (when @throws is not specified, but should be) when using RestEasy style annotations. I put my javadocs above everything else, then annotations, then code.

See the bug report here: https://youtrack.jetbrains.com/issue/IDEA-220520

0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号