Pokud rozhraní deklaruje nějaké metody, tak by tyto metody jistě měly mít dokumentační komentáře. A co když pak někdo tyto metody definuje, má dokumentační komentáře psát znovu? Není to zbytečná práce navíc? A když se původní dokumentační komentáře změní, má se měnit i u všech implementací?
K podobné situaci dochází i u abstraktních tříd a dědičnosti obecně, tam už ale metoda může přijímat třeba i jiné parametry, takže se význam metody může snáz posunout.
Já se kloním k tomu, že by měl být všechen kód kromě identifikátorů zapsán pouze jednou, což platí to i pro komentáře. Komentář v implementaci by podle mě dával smysl pouze v případě, když by se definice lišila od deklarovaného chování, k tomu by ale nemělo docházet.
Pak jde jen o to mít dostatečně schopný nástroj pro generování dokumentace a IDE, které dokážou dědit i dokumentační komentáře.
<?php interface IPlugin { /** Instalace do zadané cesty * @param string * @return bool */ function install($path); /** Odinstalace * @return bool */ function uninstall(); } class PluginJush implements IPlugin { // tady už žádný dokumentační komentář nebude function install($path) { } function uninstall() { } } ?>
Diskuse je zrušena z důvodu spamu.