СУХОЙ способ написать Javadoc о методах перегрузки


9

Я хочу написать Javadoc в сухом виде. Но документ оракула о Javadoc говорит, что напишите то же самое снова в комментарии метода перегрузки. Могу ли я избежать повторения?

Ответы:


3

Я размещаю {@inheritDoc}директивы здесь и там в моих комментариях Javadoc при переопределении методов из суперклассов или реализации методов, определенных интерфейсом.

По крайней мере, это хорошо работает для меня, позволяет избежать повторений в исходном коде, и вы все равно можете добавить конкретную информацию к конкретному комментарию Javadoc, если в этом есть необходимость. Я не учитываю тот факт, что сам комментарий Javadoc довольно проблематичен, когда все, что требуется в приличной среде IDE, - это навести курсор мыши на имя связанного идентификатора, чтобы получить визуализированный Javadoc со ссылками и всем остальным.


2

Смысл документации - осветить будущих пользователей предмета. Это частично для удобства автора, так что с ним или с ней не нужно связываться всякий раз, когда кто-то не может понять, как это работает. В основном, однако, это на благо людей, которые должны использовать или поддерживать вещь.

Как таковой, суть должна быть ясностью, а не удобством для автора. Вы не можете ожидать, что люди будут копаться в документации по API, потому что вы были слишком ленивы, чтобы повторяться. Смиритесь - Javadoc будет повторяться.

Тем не менее, нет никаких причин, если вы умны, вы не можете написать программу, которая будет вставлять комментарии в ваш код на основе маркеров или каких-то других критериев. Это может быть больше проблем, чем оно того стоит. Или нет.


4
Нет, не повторяйся; это просто намного больше, чтобы держать все в синхронизации. Если есть новая информация о перегруженной реализации, пишите только это. Я думаю, что разумно ожидать, что пользователи типа будут смотреть на javadocs его супертипов, а такие инструменты, как Eclipse, позволяют им очень легко это делать.
Дауд ибн Карим
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.