2026-01-30 02:02:32 +03:00
|
|
|
|
---
|
|
|
|
|
|
title: Документирование
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
|
|
# Документирование
|
|
|
|
|
|
|
|
|
|
|
|
Документирование должно помогать понять назначение сущности, а не дублировать её типы или очевидные детали.
|
|
|
|
|
|
|
|
|
|
|
|
## Правила
|
|
|
|
|
|
|
|
|
|
|
|
- Документировать только назначение функций, компонентов, типов, интерфейсов и enum.
|
|
|
|
|
|
- Не документировать параметры, возвращаемые значения, типы пропсов и очевидные детали.
|
|
|
|
|
|
- В интерфейсах, типах и enum описывать только смысл поля или значения.
|
|
|
|
|
|
- Описание должно быть кратким, информативным и завершаться точкой.
|
|
|
|
|
|
|
|
|
|
|
|
## Примеры
|
|
|
|
|
|
|
|
|
|
|
|
**Хорошо**
|
|
|
|
|
|
```ts
|
|
|
|
|
|
/**
|
|
|
|
|
|
* Список задач пользователя.
|
|
|
|
|
|
*/
|
|
|
|
|
|
export const TodoList = memo(() => { ... });
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* Интерфейс задачи.
|
|
|
|
|
|
*/
|
|
|
|
|
|
export interface TodoItem {
|
|
|
|
|
|
/** Уникальный идентификатор задачи. */
|
|
|
|
|
|
id: string;
|
|
|
|
|
|
/** Текст задачи. */
|
|
|
|
|
|
text: string;
|
|
|
|
|
|
/** Статус выполнения задачи. */
|
|
|
|
|
|
completed: boolean;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* Перечисление фильтров задач.
|
|
|
|
|
|
*/
|
|
|
|
|
|
export enum TodoFilter {
|
|
|
|
|
|
/** Все задачи. */
|
|
|
|
|
|
All = 'all',
|
|
|
|
|
|
/** Только активные задачи. */
|
|
|
|
|
|
Active = 'active',
|
|
|
|
|
|
/** Только выполненные задачи. */
|
|
|
|
|
|
Completed = 'completed',
|
|
|
|
|
|
}
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
**Плохо**
|
|
|
|
|
|
```ts
|
|
|
|
|
|
// Плохо: дублирование параметров и возвращаемых значений.
|
|
|
|
|
|
/**
|
|
|
|
|
|
* @param id - идентификатор задачи
|
|
|
|
|
|
* @returns объект задачи
|
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
|
|
// Плохо: описание очевидных деталей.
|
|
|
|
|
|
/**
|
|
|
|
|
|
* id — идентификатор задачи
|
|
|
|
|
|
* text — текст задачи
|
|
|
|
|
|
* completed — статус выполнения
|
|
|
|
|
|
*/
|
|
|
|
|
|
```
|