Jak píšete javadoc u imple­men­tací rozhraní nebo u překrytých metod? Léta jsem používal výchozí genero­vaný javadoc v Eclipse

(non-Javadoc) @see

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

{@inheritDoc}

Nedávno jsem si na twitteru stěžo­val, ž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ředpok­lá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ý speci­fický popis. V ukázce je to metoda

add()

Eclipse i Idea tohle chování podpo­rují, ale javadoc vygene­ro­vaný z příka­zové řá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 genero­vaný javadoc u imple­men­tace rozhraní kopíruje javadoc ať už použi­jete konstrukci

(non-Javadoc) @see

, případně

{@inheritDoc}

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