Java Advanced Javadoc Содержание 1. 2. 3. 4. 5. 6. Структура Javadoc Блочные тэги Строчные тэги Применение Javadoc Компиляция Javadoc Заключение Georgiy Korneev Java Advanced / Javadoc 2 Что такое Javadoc Способ документирования программ Инструмент для генерирования документации Сгенерированная документация Georgiy Korneev Java Advanced / Javadoc 3 Часть 1 Структура Javadoc Javadoc-комментарии Обыкновенный комментарий /* Calculates the factorial */ int factorial(int x) { … Javadoc-комментарий /** Calculates the factorial */ public double factorial(int x) { … Georgiy Korneev Java Advanced / Javadoc 5 Применение Javadoc-комментариев Описание пакетов классов методов конструкторов полей Georgiy Korneev Java Advanced / Javadoc 6 Структура Javadoc-комментария /** * Краткое описание. Основное описание * * Блок тегов */ Georgiy Korneev Java Advanced / Javadoc 7 Пример Javadoc-комментария /** * Calculates the factorial. For negative numbers * returns <tt>1</tt>. * * @param x a value * @return the factorial of <code>a</code> */ public double factorial(int x) { Georgiy Korneev Java Advanced / Javadoc 8 Типы тегов Блочные теги Начинается с @tag и оканчивается с началом следующего тега Пример @param x a value Строчные теги Ограничены фигурными скобками Могут встречаться в теле других тегов Пример Use a {@link java.lang.Math#log} for positive numbers. Georgiy Korneev Java Advanced / Javadoc 9 Часть 2 Блочные теги Тег @param Описавает параметров методов и конструкторов Синтаксис @param <имя параметра> <описание> Пример @param x a value Georgiy Korneev Java Advanced / Javadoc 11 Тег @return Описывает возвращаемое значение метода Синтаксис @return <описание> Пример @return the factorial of <code>x</code> Georgiy Korneev Java Advanced / Javadoc 12 Тег @throws Описывает исключения, генерируемые методом/конструктором Синтаксис @throws <класс исключения> <описание> Пример @throws IllegalArgumentException if <code>x</code> is less than zero Georgiy Korneev Java Advanced / Javadoc 13 Тэг @see Ссылка на дополнительную информацию Синтаксис @see <имя класса> @see [<имя класса>]#<имя члена> @see "<Текст ссылки>" Примеры @see Math#log10 @see "The Java Programming language Specifiecation, p. 142" Georgiy Korneev Java Advanced / Javadoc 14 Тэг @version Текущая версия класса/пакета Синтаксис @version <описание версии> Пример @version 5.0 Georgiy Korneev Java Advanced / Javadoc 15 Тег @since Версия в которой была добавлена описываемая сущность Синтаксис @since <описание версии> Пример @since 5.0 Georgiy Korneev Java Advanced / Javadoc 16 Тэг @deprecated Помечает возможности, которые не следует использовать Синтаксис @deprecated <комментарий> Пример @deprecated replaced by {@link #setVisible} Georgiy Korneev Java Advanced / Javadoc 17 Тэг @author Описывает автора класса/пакета Синтаксис @author <имя автора> Пример @author Josh Bloch @author Neal Gafter Georgiy Korneev Java Advanced / Javadoc 18 Часть 3 Строчные теги Тэг {@link} Ссылка на другую сущность Синтаксис {@link <класс>#<член> <текст>} Примеры {@link java.lang.Math#Log10 Decimal Logarithm} {@link Math} {@link Math#Log10} {@link #factorial() calculates factorial} Georgiy Korneev Java Advanced / Javadoc 20 Тэг {@docRoot} Заменяется на ссылку на корень документации Синтаксис {@docRoot} Пример <a href="{@docRoot}/copyright.html">Copyright</a> Georgiy Korneev Java Advanced / Javadoc 21 Тэг {@value} Заменяется на значение поля Синтаксис {@value <имя класса>#<имя поля>} Пример Default value is {@value #DEFAULT_TIME} Georgiy Korneev Java Advanced / Javadoc 22 Тэг {@code} Предназначен для вставки фрагментов кода Внутри тэга HTML не распознается Синтаксис {@code <код>} Пример Is equivalent of {@code Math.max(a, b)}. Georgiy Korneev Java Advanced / Javadoc 23 Часть 4 Применение Javadoc Где могут быть использованы тэги Пакеты Классы @author @version Georgiy Korneev Методы и конструкторы @see @since {@link} {@docRoot} @deprecated @param @return @throws Java Advanced / Javadoc Поля {@value} 25 Описание пакета Хранится в файле package.html в этом пакете Описание – часть заключенная в теги <body></body> Georgiy Korneev Java Advanced / Javadoc 26 Наследование Javadoc Если какая-то часть информации о методе не указана, то описание копируется у ближайшего предка Копируемая информация Описание @param @returns @throws Georgiy Korneev Java Advanced / Javadoc 27 Часть 5 Компиляция Javadoc Компиляция Javadoc Инструмент Javadoc Применение javadoc <опции> <список пакетов> <список файлов> Пример javadoc JavadocExample1.java Georgiy Korneev Java Advanced / Javadoc 29 Основные опции Javadoc -sourcepath <path> Местоположения исходных фалов -classpath <path> Местоположение используемых классов -d <dir> Каталог для документации -public Подробность информации -protected -package -private -version Информация о версии -author Информация об авторе Georgiy Korneev Java Advanced / Javadoc 30 Часть 6 Заключение Ссылки Javadoc Tool // http://java.sun.com/j2se/1.5.0/docs/guide/java doc/index.html How to Write Doc Comments for the Javadoc Tool // http://java.sun.com/j2se/javadoc/writingdocco mments/index.html Javadoc FAQ // http://java.sun.com/j2se/javadoc/faq/index.ht ml Georgiy Korneev Java Advanced / Javadoc 32 Вопросы Georgiy Korneev Java Advanced / Javadoc 33