JSDoc

редактировать
JSDoc
Первоначальный выпуск1999; 21 год назад (1999)
Последний выпуск 3.6.3. (15 июля 2019; 14 месяцев назад (2019-07-15))
Тип форматаФормат документации по программированию
СодержитсяJavaScript исходными файлами
Расширен изJavaDoc
Открытый формат ?Да
Веб-сайтjsdoc.app

JSDoc - это язык разметки, используемый для аннотирования файлов JavaScript исходного кода. Используя комментарии, содержащие JSDoc, программисты могут добавлять документацию, описывающую интерфейс прикладного программирования кода, который они создают. Затем это обрабатывается различными инструментами для создания документации в доступных форматах, таких как HTML и Rich Text Format. Спецификация JSDoc выпущена в рамках CC BY-SA 3.0, в то время как сопутствующий ему генератор документации и библиотека синтаксического анализатора являются бесплатным программным обеспечением под лицензией Apache License 2.0.

Содержание

  • 1 История
  • 2 Теги JSDoc
  • 3 Пример
  • 4 Используемый JSDoc
  • 5 См. Также
  • 6 Ссылки
  • 7 Внешние ссылки

История

Ранний пример использования синтаксиса, подобного Javadoc, для документирования JavaScript был выпущен в 1999 году с проектом Netscape / Mozilla Rhino, JavaScript система времени выполнения, написанная на Java. Он включал игрушечный HTML-генератор «JSDoc» до версии 1.3 в качестве примера его возможностей JavaScript.

Все основные поколения «JSDoc» возглавлялись micmaths (Майкл Мэтьюз). Он начал с JSDoc.pm в 2001 году, простой системы, написанной на Perl, в сотрудничестве с канадским программистом Габриэлем Ридом. Он размещался на SourceForge в репозитории CVS. В JSDoc 1.0 (2007) он переписал систему на JavaScript (снова для Rhino), и после ряда расширений JSDoc 2.0 (2008) получил название «jsdoc-toolkit». Выпущенный под лицензией MIT, он размещался в репозитории Subversion на Google Code. К 2011 году он реорганизовал систему в JSDoc 3.0 и разместил результат на GitHub. Теперь он работает на Node.js.

JSDoc. Синтаксис и семантика аналогичны синтаксису и семантике схемы Javadoc, которая используется для документирования кода, написанного на Java. JSDoc отличается от Javadoc тем, что он специализируется на обработке динамического поведения JavaScript.

Теги JSDoc

Некоторые из наиболее популярных тегов аннотаций, используемых в современном JSDoc:

ТегОписание
@authorИмя разработчика
@constructorПомечает функцию как конструктор
@deprecatedПомечает метод как устаревший
@exceptionСиноним для @throws
@exportsИдентифицирует член, который экспортируется модулем
@paramДокументирует параметр метода; индикатор типа данных может быть добавлен между фигурными скобками
@privateОзначает, что член является частным
@returnsДокументирует возвращаемое значение
@returnСиноним для @returns
@seeДокументирует связь с другим объектом
@todoДокументирует то, что отсутствует / открыто
@thisОпределяет тип объекта, для которого ключевое слово этоотносится к функции.
@throwsДокументирует исключение, созданное методом
@versionПредоставляет номер версии библиотеки

Пример

/ ** @class Circle, представляющий круг. * / class Circle {/ ** * Создает экземпляр Circle. * * @constructor * @author: moi * @param {number} r Желаемый радиус круга. * / constructor (r) {/ ** @private * / this.radius = r / ** @private * / this.circumference = 2 * Math.PI * r} / ** * Создает новый круг из диаметра. * * @param {number} d Желаемый диаметр круга. * @return {Circle} Новый объект Circle. * / static fromDiameter (d) {return new Circle (d / 2)} / ** * Вычисляет длину окружности круга. * * @deprecated с 1.1.0; вместо этого используйте getCircumference * @return {number} Длина окружности круга. * / calculateCircumference () {return 2 * Math.PI * this.radius} / ** * Возвращает предварительно вычисленную длину окружности круга. * * @return {number} Длина окружности круга. * @since 1.1.0 * / getCircumference () {return this.circumference} / ** * Найти строковое представление Круга. * * @override * @return {строка} Удобочитаемое представление этого Круга. * / toString () {return `[Объект Circle с радиусом $ {this.radius}.]`}} / ** * Печатает круг. * * @param {Circle} circle * / function printCircle (circle) {/ ** @this {Circle} * / function bound () {console.log (this)} bound.apply (circle)}

Обратите внимание, что теги @classи @constructorфактически могут быть опущены: ECMASyntax достаточно, чтобы сделать их идентичными, и JSDoc это использует. @overrideтакже может быть выведен автоматически.

Используемый JSDoc

  • Google Closure Linter и Closure Compiler. Последний извлекает информацию о типе для оптимизации своего вывода JavaScript.
  • TypeScript может выполнять проверку типов для файлов JavaScript с аннотациями типа JSDoc. Microsoft указала новый язык TSDoc с расширяемыми тегами.
  • Популярный редактор Sublime Text поддерживает JSDoc через плагин DocBlockr или DoxyDoxygen
  • Синтаксис JSDoc подробно описан в книга Apress, Основы Ajax ISBN 1-59059-582-3.
  • IntelliJ IDEA, NetBeans, Visual Studio Code и RubyMine понимает синтаксис JSDoc.
  • на основе Eclipse Aptana Studio поддерживает ScriptDoc.
  • Mozile, встроенный редактор Mozilla использует JSDoc.pm.
  • Платформа приложений Helma использует JSDoc.
  • Документация SproutCore была создана с использованием JSDoc. [1]
  • Visual Studio, WebStorm и многие другие интегрированные среды разработки или текстовые редакторы предлагают автозавершение кода и другую помощь на основе в комментариях JSDoc.
  • Редактор с открытым исходным кодом поддерживает JSDoc через плагин atom-easy-jsdoc.

См. также

Ссылки

Внешние ссылки

Последняя правка сделана 2021-05-24 10:19:17
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте