Javadoc — генератор документації в HTML-форматі з коментарів вихідного коду на Java від Sun Microsystems. Цей формат був обраний для забезпечення можливості зв'язати воєдино пов'язані документи за допомогою посилань. Коментарі javadoc стали «де факто» стандартом для документування створених Java-класів. Більшість середовищ розробки, таких як Eclipse та Netbeans автоматично генерують документацію за допомогою javadoc.
Тип | генератор документації |
---|---|
Розробник | Sun Microsystems |
Стабільний випуск | 1.50 |
Платформа | віртуальна машина Java |
Ліцензія | GNU GPL 2 |
Вебсайт | Офіційний сайт |
Javadoc також забезпечує інтерфейс для створення доклетів та теглетів, що надають можливість аналізувати структуру Java-програми.
Використання
В мові програмування Java існує три типи коментарів, лише один з яких може бути використаний для створення javadoc — це так званий коментар документації. В коді він виділяється такою конструкцією:
/** * Так можна коментувати змінні класу. */
Ці коментарі дають можливість додавати в програму інформацію про неї, яка пізніше може бути використана утилітою javadoc (входить до складу Java Development Kit) для створення HTML-файлів. Коментарі документації можна використовувати при коментуванні:
- полів (змінних);
- методів;
- конструкторів:
- класів;
- інтерфейсів;
- пакетів.
Варто відмітити, що в будь-якому разі коментарі повинні знаходитися перед документованим об'єктом.
В коментарях також можна використовувати і стандартні HTML теги, наприклад <strong>
. Проте на використання деяких з них накладається заборона, наприклад заголовки порушують зовнішній вигляд HTML-файлу, сформованого за допомогою утиліти javadoc.
Дескриптори
В документації можна також використовувати спеціальні дескриптори, призначені для вказування утиліті javadoc певної інформації. Їх поділяють на:
- автономні (починаються з символу @, наприклад
@see
); - вбудовані (починаються з символу {, наприклад
{@code}
).
Відмінність цих дескрипторів полягає у тому, що автономні мають використовуватись у власному рядку, в той час як вбудовані можуть бути використані всередині великого опису. Приклади дескрипторів наведені в таблиці.
Дескриптор Параметр | Призначення | Використання | З версії |
---|---|---|---|
@author Опис | Ідентифікує автора. | Клас, інтерфейс | 1.0 |
{@code Фрагмент коду} | Відображає інформацію «як є», без обробки HTML-стилю, проте з використанням шрифту коду. | Скрізь | 1.5 |
@deprecated Опис | Описує застарілий клас або його член. При використанні бажано вказувати, чим було замінено функціональність. | Клас, інтерфейс, метод, змінна | 1.0 |
{@docRoot} | Визначає шлях до корінного каталогу поточної директорії. | Скрізь | 1.3 |
@exception Назва виключення Пояснення @throws Назва виключення Пояснення | Описує виключення, що може генерувати метод. | Метод | 1.0 та 1.2 відповідно |
{@inheritDoc} | Наслідує коментар безпосередньо від предка. | Підмінений метод | 1.4 |
{@link Пакет. Клас#Член Опис} | Вставляє вбудоване посилання на іншу тему. | Скрізь | 1.2 |
{@linkplain} | Вставляє вбудоване посилання на іншу тему, проте відображає його у вигляді відкритої форми шрифту. | Скрізь | 1.4 |
{@literal Опис} | Відображає інформацію «як є», без обробки HTML-стилю. | Скрізь | 1.5 |
@param Назва параметру Опис | Документує параметр методу, класу чи інтерфейсу. При використанні не потрібно вказувати тип параметру. | Клас, інтерфейс, метод | 1.0 |
@return Опис | Описує значення, що повертає метод. | Метод | 1.0 |
@see Тема @see Пакет. Клас#Член Опис | Визначає посилання на іншу тему документації. | Клас, інтерфейс, метод, змінна | 1.0 |
@serial Опис | Документує змінну, що серіалізується за замовчуванням. | Змінна | 1.2 |
@serialData Опис | Документує дані, записані методами writeObject() та writeExternal() . | Метод | 1.2 |
@serialField Опис | Документує компонент ObjectStreamField . | Змінна | 1.2 |
@since Версія | Показує, коли було введено дану функціональність. | Скрізь | 1.1 |
{@value} {@value Пакет. Клас#Змінна} | Повертає значення статичної змінної. | Статична змінна | 1.4 |
@version Версія | Визначає версію класу і може використовуватися в ньому лише раз. | Клас, інтерфейс | 1.0 |
Приклади документування
Приклад документування пакету
Описаний код має бути розміщений у файлі package-info.java
, що, в свою чергу, має розміщуватися в документованому пакеті.
/** * Пакет включає класи для використання XML потоків в програмах. * * @author Mir4ik * @version 1.0 10/06/12 */ package XMLTools;
Приклад документування класу
/** * Клас для представлення кожного тегу в XML документів. Це контейнер з ім’ям, * який також може вміщувати значення, коментар, атрибути та вкладені елементи. Він * використовується для пакування інформації перед збереженням в * <code>XMLOutputStream</code>. Також, він використовується в <code>XMLInputStream</code> * для повернення прочитаної інформації. * * @author Mir4ik * @version 1.0 11/06/12 * @see XMLInputStream * @see XMLOutputStream */ public class XMLElement { // члени класу }
Приклад документування методу
/** * Метод формує дерево XML елементів. * <p> * <strong>Увага:</strong> Дані поза кореневим тегом XML документу буде втрачено! * Використовуйте спеціальне поле для коментаря в <code>XMLElement</code>, * що можна задати методом {@link XMLElement#setComment(String)}. * * @return найвищий <code>XMLElement</code> в сформованому дереві * @throws XMLStreamException якщо під час парсингу виникла виняткова ситуація * @throws IOException якщо виникла виняткова ситуація при читанні даних */ public XMLElement readRootTag() throws XMLStreamException, IOException { // код методу }
Див. також
Посилання
- Офіційний сайт Javadoc [ 6 квітня 2005 у Wayback Machine.] (англ.)
- How to Write Doc Comments for the Javadoc Tool [ 29 квітня 2020 у Wayback Machine.] (англ.)
- javadoc The Java API Documentation Generator [ 15 червня 2012 у Wayback Machine.] (англ.)
Джерела
- Schildt H. Java: The Complete Reference (7th ed.). — Osborne, 2007 (англ.) (Шилдт Г. Полный справочник по Java. — М.: Вильямс, 2007. — 1035 с.) (рос.)
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
Javadoc generator dokumentaciyi v HTML formati z komentariv vihidnogo kodu na Java vid Sun Microsystems Cej format buv obranij dlya zabezpechennya mozhlivosti zv yazati voyedino pov yazani dokumenti za dopomogoyu posilan Komentari javadoc stali de fakto standartom dlya dokumentuvannya stvorenih Java klasiv Bilshist seredovish rozrobki takih yak Eclipse ta Netbeans avtomatichno generuyut dokumentaciyu za dopomogoyu javadoc JavadocTipgenerator dokumentaciyiRozrobnikSun MicrosystemsStabilnij vipusk1 50Platformavirtualna mashina JavaLicenziyaGNU GPL 2VebsajtOficijnij sajt Javadoc takozh zabezpechuye interfejs dlya stvorennya dokletiv ta tegletiv sho nadayut mozhlivist analizuvati strukturu Java programi VikoristannyaV movi programuvannya Java isnuye tri tipi komentariv lishe odin z yakih mozhe buti vikoristanij dlya stvorennya javadoc ce tak zvanij komentar dokumentaciyi V kodi vin vidilyayetsya takoyu konstrukciyeyu Tak mozhna komentuvati zminni klasu Ci komentari dayut mozhlivist dodavati v programu informaciyu pro neyi yaka piznishe mozhe buti vikoristana utilitoyu javadoc vhodit do skladu Java Development Kit dlya stvorennya HTML fajliv Komentari dokumentaciyi mozhna vikoristovuvati pri komentuvanni poliv zminnih metodiv konstruktoriv klasiv interfejsiv paketiv Varto vidmititi sho v bud yakomu razi komentari povinni znahoditisya pered dokumentovanim ob yektom V komentaryah takozh mozhna vikoristovuvati i standartni HTML tegi napriklad lt strong gt Prote na vikoristannya deyakih z nih nakladayetsya zaborona napriklad zagolovki porushuyut zovnishnij viglyad HTML fajlu sformovanogo za dopomogoyu utiliti javadoc DeskriptoriV dokumentaciyi mozhna takozh vikoristovuvati specialni deskriptori priznacheni dlya vkazuvannya utiliti javadoc pevnoyi informaciyi Yih podilyayut na avtonomni pochinayutsya z simvolu napriklad see vbudovani pochinayutsya z simvolu napriklad code Vidminnist cih deskriptoriv polyagaye u tomu sho avtonomni mayut vikoristovuvatis u vlasnomu ryadku v toj chas yak vbudovani mozhut buti vikoristani vseredini velikogo opisu Prikladi deskriptoriv navedeni v tablici Deskriptor Parametr Priznachennya Vikoristannya Z versiyi author Opis Identifikuye avtora Klas interfejs 1 0 code Fragment kodu Vidobrazhaye informaciyu yak ye bez obrobki HTML stilyu prote z vikoristannyam shriftu kodu Skriz 1 5 deprecated Opis Opisuye zastarilij klas abo jogo chlen Pri vikoristanni bazhano vkazuvati chim bulo zamineno funkcionalnist Klas interfejs metod zminna 1 0 docRoot Viznachaye shlyah do korinnogo katalogu potochnoyi direktoriyi Skriz 1 3 exception Nazva viklyuchennya Poyasnennya throws Nazva viklyuchennya Poyasnennya Opisuye viklyuchennya sho mozhe generuvati metod Metod 1 0 ta 1 2 vidpovidno inheritDoc Nasliduye komentar bezposeredno vid predka Pidminenij metod 1 4 link Paket Klas Chlen Opis Vstavlyaye vbudovane posilannya na inshu temu Skriz 1 2 linkplain Vstavlyaye vbudovane posilannya na inshu temu prote vidobrazhaye jogo u viglyadi vidkritoyi formi shriftu Skriz 1 4 literal Opis Vidobrazhaye informaciyu yak ye bez obrobki HTML stilyu Skriz 1 5 param Nazva parametru Opis Dokumentuye parametr metodu klasu chi interfejsu Pri vikoristanni ne potribno vkazuvati tip parametru Klas interfejs metod 1 0 return Opis Opisuye znachennya sho povertaye metod Metod 1 0 see Tema see Paket Klas Chlen Opis Viznachaye posilannya na inshu temu dokumentaciyi Klas interfejs metod zminna 1 0 serial Opis Dokumentuye zminnu sho serializuyetsya za zamovchuvannyam Zminna 1 2 serialData Opis Dokumentuye dani zapisani metodami writeObject ta writeExternal Metod 1 2 serialField Opis Dokumentuye komponent ObjectStreamField Zminna 1 2 since Versiya Pokazuye koli bulo vvedeno danu funkcionalnist Skriz 1 1 value value Paket Klas Zminna Povertaye znachennya statichnoyi zminnoyi Statichna zminna 1 4 version Versiya Viznachaye versiyu klasu i mozhe vikoristovuvatisya v nomu lishe raz Klas interfejs 1 0Prikladi dokumentuvannyaPriklad dokumentuvannya paketu Opisanij kod maye buti rozmishenij u fajli package info java sho v svoyu chergu maye rozmishuvatisya v dokumentovanomu paketi Paket vklyuchaye klasi dlya vikoristannya XML potokiv v programah author Mir4ik version 1 0 10 06 12 package XMLTools Priklad dokumentuvannya klasu Klas dlya predstavlennya kozhnogo tegu v XML dokumentiv Ce kontejner z im yam yakij takozh mozhe vmishuvati znachennya komentar atributi ta vkladeni elementi Vin vikoristovuyetsya dlya pakuvannya informaciyi pered zberezhennyam v lt code gt XMLOutputStream lt code gt Takozh vin vikoristovuyetsya v lt code gt XMLInputStream lt code gt dlya povernennya prochitanoyi informaciyi author Mir4ik version 1 0 11 06 12 see XMLInputStream see XMLOutputStream public class XMLElement chleni klasu Priklad dokumentuvannya metodu Metod formuye derevo XML elementiv lt p gt lt strong gt Uvaga lt strong gt Dani poza korenevim tegom XML dokumentu bude vtracheno Vikoristovujte specialne pole dlya komentarya v lt code gt XMLElement lt code gt sho mozhna zadati metodom link XMLElement setComment String return najvishij lt code gt XMLElement lt code gt v sformovanomu derevi throws XMLStreamException yaksho pid chas parsingu vinikla vinyatkova situaciya throws IOException yaksho vinikla vinyatkova situaciya pri chitanni danih public XMLElement readRootTag throws XMLStreamException IOException kod metodu Div takozhJSDocPosilannyaOficijnij sajt Javadoc 6 kvitnya 2005 u Wayback Machine angl How to Write Doc Comments for the Javadoc Tool 29 kvitnya 2020 u Wayback Machine angl javadoc The Java API Documentation Generator 15 chervnya 2012 u Wayback Machine angl DzherelaSchildt H Java The Complete Reference 7th ed Osborne 2007 angl Shildt G Polnyj spravochnik po Java M Vilyams 2007 1035 s ros