# 命名规范统一方案

## 📋 命名规范标准

### 1. 文件命名规范
**统一使用下划线命名（snake_case）**
- ✅ `ai_service.js`
- ✅ `job_service.js`
- ✅ `pla_account_service.js`
- ✅ `job_manager_service.js`
- ✅ `chat_manager_service.js`
- ✅ `resume_manager_service.js`
- ❌ `aiService.js` → `ai_service.js`
- ❌ `jobManager.js` → `job_manager_service.js`
- ❌ `chatManager.js` → `chat_manager_service.js`
- ❌ `resumeManager.js` → `resume_manager_service.js`

### 2. 类命名规范
**统一使用大驼峰命名（PascalCase）**
- ✅ `AIService`
- ✅ `JobService`
- ✅ `JobManagerService`
- ✅ `ChatManagerService`
- ✅ `ResumeManagerService`
- ❌ `aiService` → `AIService`
- ❌ `JobManager` → `JobManagerService`

### 3. 目录命名规范
**统一使用小写+下划线（snake_case）**
- ✅ `services/` - 业务服务层
- ✅ `middleware/` - 中间件层
- ✅ `middleware/schedule/` - 调度系统
- ✅ `middleware/mqtt/` - MQTT通信
- ❌ `middleware/job/` → 移到 `services/` 并重命名

### 4. 服务文件命名规范
**所有服务文件统一以 `_service.js` 结尾**
- ✅ `ai_service.js`
- ✅ `job_service.js`
- ✅ `job_manager_service.js`
- ✅ `chat_manager_service.js`
- ✅ `resume_manager_service.js`
- ✅ `pla_account_service.js`
- ✅ `oss_tool_service.js` (重命名 `ossTool.js`)

## 🔄 需要重命名的文件

### services/ 目录
1. `ossTool.js` → `oss_tool_service.js`
2. `task_scheduler.js` → 标记为废弃或删除

### middleware/job/ 目录（移到 services/）
1. `jobManager.js` → `services/job_manager_service.js`
2. `chatManager.js` → `services/chat_manager_service.js`
3. `resumeManager.js` → `services/resume_manager_service.js`
4. `aiService.js` → 合并到 `services/ai_service.js` 后删除

## 📁 整理后的目录结构

```
api/
├── services/                           # 业务服务层
│   ├── index.js                       # 服务管理器
│   ├── ai_service.js                  # AI服务（合并后）
│   ├── job_service.js                 # 职位服务
│   ├── job_manager_service.js         # 工作管理服务
│   ├── chat_manager_service.js        # 聊天管理服务
│   ├── resume_manager_service.js      # 简历管理服务
│   ├── pla_account_service.js         # 账号服务
│   └── oss_tool_service.js            # OSS服务
│
└── middleware/                         # 中间件层
    ├── schedule/                      # 调度系统
    ├── mqtt/                          # MQTT通信
    ├── dbProxy.js                     # 数据库代理
    └── logProxy.js                    # 日志代理
```

## 🎯 执行步骤

1. **重命名现有文件**
   - `ossTool.js` → `oss_tool_service.js`
   
2. **移动并重命名业务服务**
   - `middleware/job/jobManager.js` → `services/job_manager_service.js`
   - `middleware/job/chatManager.js` → `services/chat_manager_service.js`
   - `middleware/job/resumeManager.js` → `services/resume_manager_service.js`
   
3. **合并AI服务**
   - 将 `middleware/job/aiService.js` 的功能合并到 `services/ai_service.js`
   - 删除 `middleware/job/aiService.js`
   
4. **更新所有引用**
   - 更新 `command.js` 中的引用
   - 更新其他文件中的引用
   
5. **统一类命名**
   - 确保所有类都使用 PascalCase
   - 确保所有服务类都以 Service 结尾

