When is it appropriate to use a block comment at the beginning of methods, and when is it appropriate to use a javadoc-style comment?
From the "Comments" section of the Java style guide, I found this:
Java programs can have two kinds of
comments: implementation comments and
documentation comments. Implementation
comments are those found in C++, which
are delimited by /*...*/
, and //.
Documentation comments (known as "doc
comments") are Java-only, and are
delimited by /**...*/
. Doc comments
can be extracted to HTML files using
the javadoc tool.
Implementation comments are meant for
commenting out code or for comments
about the particular implementation.
Doc comments are meant to describe the
specification of the code, from an
implementation-free perspective. to be
read by developers who might not
necessarily have the source code at
hand.
So, another way to phrase my question would be: When do methods deserve a specification of the code, from an implementation-free perspective (Javadoc) instead of a comment about a particular implementation, and vice versa? Would an interface get javadoc comments, while the implementations get block comments?
edit: I think I am not conveying my question correctly, based on the answers thus far.
Here's an example of what I want to know.
/**
* Javadoc comment here about general implementation?
*/
/*
* Should I now have a separate block comment for my specific implementation?
*/
public void foo()
{
...
}
The two different comment styles convey two different types of information. Are there cases when methods should have BOTH a leading javadoc comment, and a leading block comment?
The inspiration for even asking is that Eclipse auto-generated this for me just now:
/*
* (non-Javadoc)
* @see my.package#process()
*/
And I figured there is some sort of styling going on here that isn't declared specifically in the comment specifications I link to above.
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…