Jak píšete javadoc u implementací rozhraní nebo u překrytých metod? Léta jsem používal výchozí generovaný javadoc v Eclipse

(non-Javadoc) @see

, později jsem přešel na standardní

{@inheritDoc}

Nedávno jsem si na twitteru stěžoval, že v Intellij Idea není možné si potřebnou šablonu upravit. Připadám si jak z té historky, ve které dcera celý život pekla štrúdl tak, že vždy před vložením na plech zařízla patky, protože to tak pokaždé dělala i její matka. Předpokládala, že je to součást receptu, že to tak bude prostě lepší. Ovšem matka to dělalal proto, že měla malý plech a štrúdl by se jí tam celý nevešel.

Zjistil jsem, že Idea má svůj důvod, proč šablonu nelze upravit; javadoc se totiž kopíruje automaticky, takže se lze bez tohoto balastu obejít. Jeden případ, kdy by se vám mohla direktiva

{@inheritDoc}

hodit je ten, kdy chcete zkopírovat javadoc a přidat nějaký specifický popis. V ukázce je to metoda

add()

Eclipse i Idea tohle chování podporují, ale javadoc vygenerovaný z příkazové řádky (ať už Mavenem či čistě z Javy) ho prostě přepíše - chová se stejně, jako by tam nebyl žádný

{@inheritDoc}

Kód

Javadoc v IDE

HTML javadoc

Empiricky zjištěno: Idea, Eclipse i generovaný javadoc u implementace rozhraní kopíruje javadoc ať už použijete konstrukci

(non-Javadoc) @see

, případně

{@inheritDoc}

nebo dokonce vůbec nic, což je nakonec zdaleka nejlepší, ne?