diff --git a/docs/代码风格.md b/docs/代码风格.md new file mode 100644 index 0000000..a21cdf1 --- /dev/null +++ b/docs/代码风格.md @@ -0,0 +1,49 @@ +# 代码风格 + +## 基础格式 + +- 使用 UTF-8、LF 换行、2 个空格缩进;文件末尾保留换行,删除行尾空白。 +- JavaScript、Vue SFC 使用分号结尾。 +- 字符串通常使用单引号;模板属性和值使用双引号。 +- 对象、数组尾项保留逗号。 +- 复杂函数的函数体内常使用空行分隔初始化、分支和返回逻辑;保持与所在文件一致即可。 + +## JavaScript + +- 使用 ES Module:`import` / `export`。 +- 导入顺序通常为:框架或第三方依赖、项目内部模块、资源文件;不同分组之间空一行。 +- 变量优先使用 `const`;需要重新赋值的局部变量使用 `let`;不使用 `var`。 +- 函数以具名 `function` 声明为主;回调和简单映射使用箭头函数。 +- 命名使用 camelCase:变量、函数、方法和参数均使用英文语义名称;布尔值常以 `is`、`show`、`has` 等开头。 +- 常量或配置集合也多使用 camelCase,例如 `protocolOptions`、`themeOverrides`。 +- 错误处理使用 `try...catch`,错误信息通过中文 `console.error` 或界面消息反馈。 + +## 注释与类型 + +- 注释、JSDoc 说明和面向用户的提示文案使用简体中文。 +- 按职责使用 `// ==================== 模块名 ====================` 分隔较长的文件。 +- 公开方法、重要状态和较复杂逻辑使用 JSDoc 描述用途、参数和返回值。 +- JavaScript 项目通过 JSDoc 引入或声明类型,例如 `@typedef`、`@param`、`@returns`,公共 MQTT 类型集中引用 `types/jsdoc.d.ts`。 +- 简单实现可配合单行中文注释说明意图,避免重复描述显而易见的代码。 + +## Vue 组件 + +- 单文件组件按 `