codestyle; put javadoc before or after annotation?

32,042

Solution 1

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

Here's 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) {
    ...
}

Solution 2

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.

Solution 3

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.

Solution 4

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

Share:
32,042

Related videos on Youtube

Paul McKenzie
Author by

Paul McKenzie

Freelance developer currently moving to Scala, working in the finance sector in London.

Updated on January 01, 2020

Comments

  • Paul McKenzie
    Paul McKenzie over 4 years

    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 after 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;
    }
    
  • ArtOfWarfare
    ArtOfWarfare over 10 years
    Also of interest here - the annotation is on the same line as the other qualifiers for the method. I've never seen that done before, but it seems to suggest that annotations should be treated much like other qualifiers for a method, and as such, the javadoc should definitely go before it.
  • E_the_Shy
    E_the_Shy about 9 years
    Putting the same annotations on the same line can quickly get out of hand if you are using something annotation-heavy like Jackson. I put each annotation on a line of it's own.
  • 700 Software
    700 Software almost 3 years
    Especially if the javadoc was really long!