# 开发模块

## 规则（Rules）

# 开发模块 - 规范

## 1. 代码规范
- 函数命名使用小驼峰（camelCase）
- 变量和参数命名使用小写蛇形（snake_case）
- 常量命名使用全大写蛇形（SCREAMING_SNAKE_CASE）
- 模块导出使用 `module.exports = { functionName }`
- 缩进统一使用2个空格
- 变量声明：能用 `let` 就别用 `const`
- 注释使用JSDoc格式

## 2. 模块结构
```
{模块名}/
├── index.js          ← 模块入口，导出公共API
├── lib/              ← 内部实现文件
├── test/             ← 测试文件
└── README.md         ← 使用文档
```

## 3. 模块原则
- 禁止模块存在外部副作用
- 禁止在未编写文档的情况下发布模块
- 禁止使用无意义文件名

## 方法（Methods）

# 开发模块 - 方法

## 流程概览
```
分析模块需求 → 设计模块结构 → 编写模块代码 → 编写测试用例 → 编写使用文档
```

## 步骤1：分析模块需求
读取需求文档，确定模块的功能接口和外部依赖。

## 步骤2：设计模块结构
设计模块的导出接口和内部实现结构（index.js入口、lib/内部实现、test/测试）。

## 步骤3：编写模块代码
编写入口文件和内部实现文件，使用JSDoc注释。

## 步骤4：编写测试用例
覆盖正常路径和异常路径。

## 步骤5：编写使用文档
包含安装方式、API说明、使用示例、注意事项。

## 技巧（Tips）

# 开发模块 - 技巧

## 1. 小步迭代
先实现核心功能并导出，再逐步扩展。

## 2. 错误优先
先写错误处理和边界情况的代码，再写正常路径。

## 3. 依赖注入
通过参数传入外部依赖，而不是在模块内部直接require，便于测试。
