Программы на языке Ява могут включать
документацию в их исходном коде в специальных
комментариях документации (§ 3.7).
Такие комментарии могут появляться перед каждым
классом или объявлением интерфейса и перед
каждым методом, конструктором или объявлением
поля. Тогда гипертекст web страницы может быть
произведен автоматически из исходного кода
программы и этих комментариев документации.
Эта глава дает неофициальное описание
комментариев документации. Полная формальная
спецификация требовала бы подробного описания
тех частей языка гипертекстовой разметки (HTML),
которые могут использоваться в пределах
комментариев документации и которые находятся
вне области действия этой спецификации.
Текст комментария документации состоит из
символов заключенных между знаками /**,
которые начинают комментарий и знаками */ которые заканчивают его. Текст
делится на одну или большее количество строк. На
каждой из этих строк, первые знаки * игнорируются;
для тех строк, которые не являются первыми,
пробелы и табуляция предшествующие начальному
знаку *, также будут отброшены.
Так, например, в комментарии:
/**XYZ
** Initialize to pre-trial defaults.
123*/
текст комментария содержит три строки. Первая
строка состоит из текста "XYZ";
вторая строчка состоит из текста "Initialize
to pre-trial defauls." И третья строчка состоит из
текста "123"
Текст в комментарии документации может
использовать теги HTML для форматирования, за
исключением того, что определенные теги <H1>, <H2>, <H3>, <H4>, <H5>, <H6>, и <HR> сохранены для использования
генератором документации и не должны
использоваться в тексте. Полное описание HTML
доступно по адресу http://www.w3.org и
также через документационную базу данных
Интернета в http://www.internic.net, где
документ "Hypertext Markup Language -Version 2.0" T. Berners-Lee и D.
Connolly может быть найден как RFC1866.
Первое предложение каждого комментария
документации должно быть обобщающее предложение,
содержащее краткое, но полное описание
объявленного объекта. Это предложение
заканчивается первой точкой, которая
сопровождается пробелом, табуляцией,
ограничителем строки или первой помеченной
строкой (как определено ниже). Это простое
правило означает что первое предложение типа:
This is a simulation of Prof. Knuth's MIX computer.
не будет работать должным образом, потому что
точка после сокращения "Prof"
заканчивает первое предложение, насколько
заинтересован процессор комментария
документации языка Ява. Постарайтесь избежать
таких трудностей.
Предложение следующее после обобщающего
предложения, но предшествующее первому
помеченному абзацу (любому) формирует общее
описание части комментария документации.
Строчка комментария документации, которая
начинается с знака @
сопровождаемого одним из специальных ключевых
слов, начинает помеченный абзац. Помеченный
абзац также включает любые последующие строки,
но не включая первой строки следующего
помеченного абзаца или конец комментария
документации.
Помеченные абзацы идентифицируют некоторую
информацию, которая имеет обычную структуру,
такую как подразумевающаяся цель
каждого параметра метода, в такой форме, что
процессор комментария документации может легко
размещать в стандартные типографские форматы
для представления и пересечения ссылки.
Различные виды помеченных абзацев доступны для
описания класса и интерфейса и для описания
метода, поля, и конструктора.
@ see
Следующие примеры - примеры абзацев @see
, которые могут использоваться в любом
комментарии документации, чтобы указать
пересечения ссылки к классу, интерфейсу, методу,
конструктору, полю, или URL:
@see java.lang.String
@see String
@see java.io.InputStream;
@see String#equals
@see java.lang.Object#wait(int)
@see java.io.RandomAccessFile#RandomAccessFile(File, String)
@see Character#MAX_RADIX
@see <a href="spec.html">Java Spec</a>
Символ # отделяет имя класса от имени одного
из его полей, методов, или конструкторов. Одна из
нескольких перезагрузок методов или
конструкторов может быть выбрана, включив список
заключенных в скобки типов аргумента после имени
метода или конструктора .
Комментарий документации может содержать
больше, чем один тег @see.
@ author
Следующее примеры - примеры помеченных строк @authors, которые могут использоваться в
комментариях документации для описания класса и
интерфейса:
@author Mary Wollstonecraft
@author Hildegard von Bingen
@author Dorothy Parker
Информация в абзаце @author не
имеет никакой специальной внутренней структуры.
Комментарий документации может содержать
больше, чем один тег @author.
Альтернатива, единственный абзац @author
может упоминать несколько авторов:
@author Jack Kent, Peggy Parish, Crockett Johnson,
James Marshall, Marjorie Weinman Sharmat,
Robert McCloskey, and Madeleine L'Engle
Однако, мы рекомендуем задавать одного автора в
абзаце @author, который позволяет
инструментальную обработку документации, чтобы обеспечить правильную
пунктуацию во всех случаях.
@ version
Следующий пример - пример абзаца @version,
который может использоваться в комментариях
документации для объявлений класса и интерфейса:
@version 493.0.1beta
Информация в абзаце @version не
имеет никакой специальной внутренней структуры.
Комментарий документации может содержать в
основном один тег @version.
@ param
Следующее примеры - примеры абзацев @param,
которые могут использоваться в комментариях
документации для объявления метода и
конструктора:
@param file the file to be searched
@param pattern
the pattern to be matched during the search
@param count the number of lines to print for each match
Информация в абзаце @param должна
состоять из имени параметра, сопровождаемого
коротким описанием.
Комментарий документации может содержать
больше, чем один тег @param. Обычное
соглашение состоит в том что если любой абзац @param присутствует в комментарии
документации, тогда должен иметься один абзац @param для каждого параметра метода или
конструктора, и абзацы @param должны появляться в
том порядке, в котором объявлены параметры.
@ return
Следующий пример - пример абзаца @return,
который может использоваться в комментариях
документации для объявлений методов, чьи типы
результата не являются типом void:
@return the number of widgets that pass the quality test
Информация в абзаце @return не
имеет никакой специальной внутренней структуры.
Обычное соглашение состоит в том, что он состоит
из короткого описания возвращенного значения.
Комментарий документации может содержать в
основном один тег @return.
@ exception
Следующее пример - пример абзаца @exception,
который может использоваться в комментариях
документации для объявлений метода и
конструктора:
@exception IndexOutOfBoundsException
the matrix is too large
@exception UnflangedWidgetException the widget does not
have a flange, or its flange has size zero
@exception java.io.FileNotFoundException the file
does not exist
Информация в абзаце @exception
должна состоять из имени класса исключения
(которое может быть простым именем или
квалифицированным именем) сопровождаемый
коротким описанием случаев, которые генерируют
исключение.
Комментарий документации может содержать
больше, чем один тег @exception.
|