Jump to content

JSDoc

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

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

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

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

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

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

Ярлык Описание
@author Имя разработчика
@constructor Отмечает функцию как конструктор
@deprecated Отмечает метод как устаревший
@exception Синоним слова @throws
@exports Идентифицирует член, экспортируемый модулем.
@param Документирует параметр метода; индикатор типа данных можно добавить между фигурными скобками
@private Означает, что участник является частным
@returns Документирует возвращаемое значение
@return Синоним слова @returns
@see Документирует связь с другим объектом
@todo Документирует то, что отсутствует/открыто
@this Указывает тип объекта, к которому применяется ключевое слово this ссылается внутри функции.
@throws Документирует исключение, выданное методом.
@version Предоставляет номер версии библиотеки.
/** @class Circle representing a circle. */
class Circle {
  /**
   * Creates an instance of Circle.
   *
   * @author: moi
   * @param {number} r The desired radius of the circle.
   */
  constructor(r) {
    /** @private */ this.radius = r
    /** @private */ this.circumference = 2 * Math.PI * r
  }

  /**
   * Creates a new Circle from a diameter.
   *
   * @param {number} d The desired diameter of the circle.
   * @return {Circle} The new Circle object.
   */
  static fromDiameter(d) {
    return new Circle(d / 2)
  }

  /**
   * Calculates the circumference of the Circle.
   *
   * @deprecated since 1.1.0; use getCircumference instead
   * @return {number} The circumference of the circle.
   */
  calculateCircumference() {
    return 2 * Math.PI * this.radius
  }

  /**
   * Returns the pre-computed circumference of the Circle.
   *
   * @return {number} The circumference of the circle.
   * @since 1.1.0
   */
  getCircumference() {
    return this.circumference
  }

  /**
   * Find a String representation of the Circle.
   *
   * @override
   * @return {string} Human-readable representation of this Circle.
   */
  toString() {
    return `[A Circle object with radius of ${this.radius}.]`
  }
}

/**
 * Prints a circle.
 *
 * @param {Circle} circle
 */
function printCircle(circle) {
    /** @this {Circle} */
    function bound() { console.log(this) }
    bound.apply(circle)
}

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

JSDoc используется

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

См. также

[ редактировать ]
  1. ^ Jump up to: а б «JSDoc» . Гитхаб . jsdoc. 4 сентября 2019 года . Проверено 4 сентября 2019 г.
  2. ^ «Пример Rhino: jsdoc.js» . Гитхаб . Проект Мозилла. 6 мая 1999 г.
  3. ^ «JSDoc» . СоурсФордж . Git-конверсия
  4. ^ "jsdoc-инструментарий" . Гугл-код . Git-конверсия
  5. ^ «Занятия ES 2015» . Используйте JSDoc .
  6. ^ "@переопределить" . Используйте JSDoc .
  7. ^ «Проверка типов файлов JavaScript» . Документация по TypeScript .
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: a182bc71d4f0f7dd3e1d0ceb168ef04b__1714971240
URL1:https://arc.ask3.ru/arc/aa/a1/4b/a182bc71d4f0f7dd3e1d0ceb168ef04b.html
Заголовок, (Title) документа по адресу, URL1:
JSDoc - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)