# 代码风格 ## 基础格式 - 使用 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 组件 - 单文件组件按 `