/** * @todo Subtracts the indicated percentage to the R, G or B of a HEX color\ * @author andy.ten@tom.com & xukaixing@hotmail.com * @Date 2026-06-16 08:07:24 * @param {string} color The color to change * @param {number} amount The amount to change the color by */const subtractLight = (color: string, amount: number): string => { const cc = parseInt(color, 16) - amount; const c = cc < 0 ? 0 : cc; return c.toString(16).length > 1 ? c.toString(16) : `0${c.toString(16)}`;};
注释规范
TIP
规定前端代码中注释的写法、粒度与维护要求,适用于 Vue 3 + TypeScript + Vite 技术栈。注释使用中文/英文书写,代码标识符仍遵循 命名规范。
设计原则
注释类型
///* ... *///或 JSDoc/** ... */(JSDoc/TSDoc)// ===== 区块名 =====TODO/FIXME/NOTE何时写 / 不写
✅ 应该写注释
❌ 不应写注释
WARNING
禁止提交大段被注释掉的代码。若需保留参考,在 PR 描述或文档中说明,不要留在源码中。
TSDoc 规范
对外导出的函数、类型、接口使用
/** */文档注释。函数
常用标签
@todo@author@Date@param@param name - 说明类型与接口
泛型
文件头注释
每个业务模块的核心文件(页面、hook、复杂工具)建议添加简要文件头,说明职责与关联模块。
TIP
简单、职责单一的组件(如纯展示型
Status.vue)可省略文件头。文件内容注释
本项目为方便管理vue文件内变量、方法、事件、生命周期等,特进行归类管理,增加项目特殊注释内容,在分类前添加注释。 例如在data部分,需添加注释
// @data。注意
// @XXX有内容时,必须需添加。// @XXX无内容时,无需添加。组件注释
Props
使用
defineProps时,如无必要不要添加注释,仅在必要时添加注释,使用// 说明格式:Emits
使用
defineEmits时,如无必要不要添加注释:如果事件过多需要添加注释,使用
// 说明格式:模板内注释
模板注释
<template>中避免大段注释;复杂交互逻辑应抽到 ts 中并在 TS 中注释。Composables 注释
组合式函数是重点文档化对象,需说明用途、参数、返回值及副作用。
行内注释
业务逻辑说明
分步说明(复杂流程)
单行注释
//后加一个空格标记注释
TODOFIXMENOTEHACKWARNING
TODO/FIXME不得长期遗留;每个迭代应清理或转为正式任务。API 注释
样式注释
反例与正例
重复代码
解释业务
文档完整性
设置注释模版
koroFileHeader,vscode/trae左侧插件市场搜索插件名称,安装即可setting.json文件, 按Ctrl + Shift + P/Commond + Shift + P,输入并选择Preferences: Open Settings (JSON)setting.json文件中,保存关闭,重启编译器(vscode/trae)即可生效koroFileHeader默认快捷键Ctrl + Alt/Option + iCtrl + Alt/Option + tkoroFileHeader查看并修改快捷键方式,Cmd/Ctrl + Shift + P输入:打开键盘快捷键,再次输入fileheader查看并修改对应快捷键注释 Checklist
提交代码前自查:
// @XXX注释TODO/FIXME带有任务编号或修复计划描述相关规范