Javadoc @see or {@link}?
Solution 1:
The official guidelines on this are pretty clear.
The functional differences are:
-
{@link}
is an inline link and can be placed wherever you like -
@see
creates its own section
In my opinion, {@link}
is best used when you literally use a class, field, constructor or method name in your description. The user will be able to click through to the javadoc of what you've linked.
I use the @see
annotation in 2 cases:
- Something is very relevant but not mentioned in the description.
- I refer to the same thing multiple times in the description, and it is used as a replacement for multiple links to the same.
I based this opinion on randomly checking out documentation for a great variety of things in the standard library.
Solution 2:
@see
creates an isolated line in the Javadocs. {@link}
is for embedding within text.
I use @see
when it's a related entity but I don't refer to it in the expository text. I use links within text when there's tight coupling, or (I feel) it's likely the reader would benefit from the navigation hint, e.g., you'll need to reference it directly.