Використання @see в JavaDoc?


110

Коли я використовую @see під час роботи з JavaDocs? Яке його використання?

Наприклад , якщо MethodAвиклики , MethodBто я повинен поставити @seeв MethodBJavadoc «s і посилання , MethodAтому що це те , що називається, або я повинен поставити посилання на MethodBз , MethodAтому що дзвонить його. Я читав речі @seeна веб-сайті Oracle, і мені здається, це неймовірно розпливчасто, це говорить про те, що це означає «бачити також», але не дуже, що це означає!


4
поставити @seeв MethodB's javadoc і посилання, MethodAтому що саме так його називали -> Як можна було б дізнатися всі методи, які викликають один із ваших методів? Навіть якщо це можливо (скажімо, приватний метод, що використовується лише один раз), прив'язка від виклику до абонента звучить принаймні дивно ...
— Mr_and_Mrs_D

1
Це означає, що це зазвичай означає англійською мовою: oxforddic slova.com/us/definition/american_english/see (визначення 1.4)
— stackexchanger

Відповіді:


119

Так, це зовсім невиразно.

Ви повинні використовувати його щоразу, коли читачам документації вашого методу може бути корисно також ознайомитись з іншим методом. Якщо в документації вашого методуA написано "Працює, як methodB, але ...", то вам неодмінно слід покласти посилання. Альтернативою @seeможе бути вбудований {@link ...}тег:

/**
 * ...
 * Works like {@link #methodB}, but ...
 */

Якщо той факт, що methodA викликає methodB, є детальною інформацією про реалізацію і немає реального відношення ззовні, вам тут не потрібно посилання.


13
@seeтакож корисний для посилання на альтернативи @Deprecatedметодам.
— Mauve Ranger

1
@MauveRanger Оскільки @seeдосить розпливчасто, для застарілих речей я вважаю кориснішим зробити щось більш чітке, як-от:@deprecated since X.Y.Z; use {@link #alternateMethod()} instead
— Крістофер

10

@see корисний для інформації про пов'язані методи / класи в API. Він створить посилання на посилається на метод / код документації. Використовуйте його, коли є відповідний код, який може допомогти користувачеві зрозуміти, як користуватися API.


9

Хорошим прикладом ситуації, коли @seeможе бути корисною, буде реалізація або переопределення методу інтерфейсу / абстрактного класу. У декларації javadocміститься розділ, що детально описує метод, а переоформлений / реалізований метод може використовувати a@see тег, посилаючись на базовий.

Пов’язане запитання: Написання належного javadoc за допомогою @see?

Документація Java SE: @see


2
не я, але, мабуть, тому, що у нас є @inheritDoc docs.oracle.com/javase/6/docs/technotes/tools/solaris/…

1
документація Java для @see - справді хороша. має бути першим.
— ДОК

2
@vaxquis @inheritDocкопіює документацію з іншого місця розташування. Я гадаю, що опис деталей, а не додавання пух має свою користь?
— Nielsvh

@Nielsvg ця відповідь зазначає, що the overridden/implemented method could use a @see tag, referring to the base one.- і саме @inheritDocдля цього і є; ІМО краще включити опис базового класу дослівно за допомогою @inheritDoc та доповнити його за потребою, ніж посилатися на нього за допомогою @see- див. (Sic!) Stackoverflow.com/questions/11121600/… ; багато розробників (включаючи мене) вважають за краще, щоб усі деталі реалізації були в одному місці, а не постійні ланцюги висхідних посилань, що ведуть вгору через ієрархію спадкування.

2

Я використовую @see для анотування методів класу реалізації інтерфейсу, де опис методу вже надано в javadoc інтерфейсу. Коли ми це робимо, я помічаю, що Eclipse витягує документацію інтерфейсу, навіть коли я шукаю метод посилання на реалізацію під час завершення коду.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.