typescript-tsdoc
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseTSDoc Generator
TSDoc 生成器
Воркфлоу добавления TSDoc-комментариев в TypeScript / Vue-код. Применять при любой задаче
«добавь доки / задокументируй».
为TypeScript/Vue代码添加TSDoc注释的工作流程。适用于任何要求「添加文档/编写文档」的任务。
Базовые правила
基本规则
- Стандарт: строгий TSDoc (tsdoc.org). Теги вне спецификации не использовать:
,
@type,@function,@kind,@property,@class,@method,@constructor— запрещены.@module - Язык описаний: русский. Имена символов — латиница как есть.
- Scope: документировать только символы без существующего блока. Уже задокументированные не трогать, пока пользователь явно не попросит переписать.
- : не добавлять автоматически. Только по явной просьбе пользователя.
@example - Не дублировать типы: TS уже знает сигнатуру. Не писать «возвращает » — описывать смысл, а не типы.
number - Без тавтологий: если описание повторяет имя символа (→ «получает пользователя») и не добавляет информации — не писать summary вообще и переходить к тегам.
getUser - Private remarks: внутренние заметки для разработчиков — через , не в
@privateRemarks.@remarks
- 标准:严格遵循TSDoc规范(tsdoc.org)。禁止使用规范外的标签:、
@type、@function、@kind、@property、@class、@method、@constructor— 均被禁用。@module - 描述语言:俄语。符号名称保留原拉丁拼写。
- 范围:仅为无现有文档块的符号添加文档。已添加文档的符号请勿修改,除非用户明确要求重写。
- :请勿自动添加。仅在用户明确要求时添加。
@example - 不重复类型:TypeScript已知晓签名信息。请勿写「返回」——应描述含义而非类型。
number - 避免同义反复:如果描述重复符号名称(如→「获取用户」)且未补充额外信息——请勿编写摘要,直接添加标签即可。
getUser - 私有备注:面向开发者的内部备注请使用,而非
@privateRemarks。@remarks
Формат блока
文档块格式
ts
/**
* Краткая суть в одном предложении с точкой.
*
* @remarks
* Нетривиальные детали: инварианты, side-effects, ограничения.
*
* @typeParam T — Назначение параметра типа.
*
* @param name — Что передаётся и зачем.
*
* @returns Что возвращается (без указания типа).
*
* @throws {ErrorType} Когда бросается.
*
* @defaultValue Значение по умолчанию для опционального поля.
*
* @deprecated Причина + чем заменить.
*
* @see {@link OtherSymbol}
*/Правила оформления:
- Открывающий , закрывающий
/**, каждая промежуточная строка начинается с*/.* - Первая строка — summary: одно предложение, заканчивается точкой.
- Между summary и блочными тегами — пустая строка .
* - Между каждым блочным тегом (,
@param,@returns,@throws,@typeParam,@defaultValue,@deprecated) — пустая строка@see. Теги не ставятся подряд без разделения.* - Порядок тегов: →
@remarks→@typeParam→@param→@returns→@throws→@defaultValue→@deprecated→@see.@example - Разделитель между именем параметра и описанием — (длинное тире с пробелами вокруг).
— - Описания внутри тегов начинаются с заглавной буквы (в том числе после в
—и@param) и заканчиваются точкой.@typeParam
ts
/**
* 一句话简要说明,以句号结尾。
*
* @remarks
* 非平凡细节:不变量、副作用、限制条件。
*
* @typeParam T — 类型参数的用途。
*
* @param name — 参数的传递内容及用途。
*
* @returns 返回值的含义(无需指定类型)。
*
* @throws {ErrorType} 抛出异常的场景。
*
* @defaultValue 可选字段的默认值。
*
* @deprecated 废弃原因及替代方案。
*
* @see {@link OtherSymbol}
*/格式规则:
- 起始标记,结束标记
/**,中间每一行均以*/开头。* - 第一行是摘要:一句完整句子,以句号结尾。
- 摘要与块级标签之间需添加空行。
* - 每个块级标签(、
@param、@returns、@throws、@typeParam、@defaultValue、@deprecated)之间需添加空行@see。标签不可连续排列,必须分隔。* - 标签顺序:→
@remarks→@typeParam→@param→@returns→@throws→@defaultValue→@deprecated→@see。@example - 参数名称与描述之间的分隔符为(两侧带空格的长破折号)。
— - 标签内的描述需以大写字母开头(包括和
@param中@typeParam之后的内容),并以句号结尾。—
Workflow
工作流程
- Определить цель — какие файлы/символы просил документировать пользователь. Если не указано явно — уточнить.
- Отфильтровать — пропустить все символы, у которых уже есть блок.
/** */ - Для каждого нового блока:
- Прочитать реализацию, понять назначение и контракт.
- Написать summary по сути (если не получается не-тавтологичное — пропустить summary, оставить только теги).
- Добавить для каждого параметра,
@paramдля функций с non-void возвратом,@returnsдля дженериков.@typeParam - — только если функция действительно кидает (не ловит сама) или вызывает что-то кидающее наружу.
@throws - — только при наличии нетривиальных деталей (side-effects, порядок инициализации, race condition-ы, ограничения).
@remarks - — при пометке устаревшим, всегда с указанием чем заменить.
@deprecated
- не добавлять, если пользователь не попросил.
@example - Проверить self-check в конце.
- 明确目标——确定用户要求为哪些文件/符号添加文档。若未明确指定,需向用户确认。
- 过滤筛选——跳过所有已存在文档块的符号。
/** */ - 为每个新文档块执行以下操作:
- 阅读实现代码,理解符号用途与契约。
- 编写符合符号本质的摘要(若无法写出非同义反复的内容——跳过摘要,仅保留标签)。
- 为每个参数添加,为非void返回值的函数添加
@param,为泛型添加@returns。@typeParam - ——仅当函数确实会抛出异常(自身捕获的不算)或调用了会向外抛出异常的代码时添加。
@throws - ——仅当存在非平凡细节(副作用、初始化顺序、竞态条件、限制条件)时添加。
@remarks - ——仅当符号被标记为废弃时添加,且需说明废弃原因及替代方案。
@deprecated
- 若用户未要求,请勿添加。
@example - 完成后执行自我检查。
Детальные справочники
详细参考文档
- references/tags.md — полный перечень разрешённых TSDoc-тегов и когда применять.
- references/examples.md — before/after по типам символов (function, class, interface, type alias, enum, generic).
- references/vue-patterns.md — Vue-специфика: composables, ,
defineProps,defineEmits,defineModel.defineSlots
- references/tags.md——允许使用的TSDoc标签完整列表及使用场景说明。
- references/examples.md——各类符号(函数、类、接口、类型别名、枚举、泛型)的文档添加前后示例对比。
- references/vue-patterns.md——Vue专属规范:composables、、
defineProps、defineEmits、defineModel。defineSlots
Self-check
自我检查清单
- Все описания на русском.
- Использованы только теги из TSDoc-спецификации.
- Нет дублирования типов из сигнатуры в тексте описаний.
- Нет тавтологий, повторяющих имя символа.
- Порядок тегов соответствует разделу «Формат блока».
- Существующие блоки не изменены (только новые добавлены).
- отсутствует, если его не просили.
@example - Для Vue-специфики (composables, /
defineProps) применены паттерны изdefineEmits.references/vue-patterns.md
- 所有描述均为俄语。
- 仅使用TSDoc规范内的标签。
- 描述中未重复签名中的类型信息。
- 无重复符号名称的同义反复内容。
- 标签顺序符合「文档块格式」章节要求。
- 未修改现有文档块(仅添加新文档块)。
- 若用户未要求,未添加。
@example - Vue专属内容(composables、/
defineProps)遵循defineEmits中的规范。references/vue-patterns.md