JSdoc: Документирование JavaScript-кода
JSDoc (JavaScript Documentation) - это язык разметки документации для кода на языке JavaScript. Он предназначен для упрощения и улучшения документации кода. С помощью JSDoc можно описывать функции, переменные, объекты и многое другое, добавлять информацию о параметрах функций, типах возвращаемых значений, аргументах и т. д.
Применение JSDoc в JavaScript-коде помогает в улучшении его читаемости, упрощении его сопровождения, а также позволяет разработчикам быстрее ориентироваться в коде. Документация, созданная с помощью JSDoc, автоматически генерируется из комментариев и становится доступной как для разработчиков, так и для конечных пользователей.
Рассмотрим несколько основных примеров применения JSDoc.
1. Описание функции с параметрами и типом возвращаемого значения:
/**
* Калькулятор, который складывает два числа.
*
* @param {number} a - Первое число.
* @param {number} b - Второе число.
* @return {number} - Сумма двух чисел.
*/
function add(a, b) {
return a + b;
}
2. Описание объекта с свойствами и их типами:
/**
* Объект, представляющий пользователя.
*
* @typedef {Object} User
* @property {string} username - Имя пользователя.
* @property {number} age - Возраст пользователя.
* @property {string} email - Электронная почта пользователя.
*/
/**
* Создает нового пользователя.
*
* @param {string} username - Имя пользователя.
* @param {number} age - Возраст пользователя.
* @param {string} email - Электронная почта пользователя.
* @return {User} - Новый пользователь.
*/
function createUser(username, age, email) {
return {
username: username,
age: age,
email: email
};
}
3. Описание класса с методами и их параметрами:
/**
* Класс, представляющий круг.
*
* @class
*/
class Circle {
/**
* Создает новый круг.
*
* @constructor
* @param {number} radius - Радиус круга.
*/
constructor(radius) {
this.radius = radius;
}
/**
* Вычисляет площадь круга.
*
* @method
* @return {number} - Площадь круга.
*/
getArea() {
return Math.PI * this.radius * this.radius;
}
/**
* Вычисляет длину окружности круга.
*
* @method
* @return {number} - Длина окружности круга.
*/
getCircumference() {
return 2 * Math.PI * this.radius;
}
}
Как видно из приведенных примеров, JSDoc позволяет описывать различные элементы кода и добавлять метаданные для описания их использования. Для генерации документации из комментариев существуют различные инструменты, например, JSDoc и Esdoc.