# 项目目录结构规范

## Node.js 后端通用结构

```
project-name/
├── index.js               # 入口文件
├── package.json           # 依赖配置
├── config.json            # 全局配置
├── .env                   # 环境变量（不提交Git）
├── .gitignore             # Git忽略配置
├── node_modules/          # 依赖包（不提交Git）
├── app/                   # 应用模块目录
│   ├── module1/           # 模块1
│   │   ├── index.js       # 模块入口
│   │   ├── config.json    # 模块配置
│   │   └── controller.js  # 控制器
│   └── module2/
├── static/                # 静态资源
│   ├── css/
│   ├── js/
│   └── img/
├── logs/                  # 日志文件
└── test/                  # 测试文件
```

## 前端项目结构

```
project-name/
├── index.html
├── static/
│   ├── css/
│   │   └── style.css
│   ├── js/
│   │   └── main.js
│   ├── img/
│   └── font/
├── package.json
└── README.md
```

## 函数/方法命名

| 类型 | 格式 | 示例 |
|:-----|:-----|:-----|
| 函数名 | 小驼峰 | `getUser()`, `formatTime()` |
| 变量/参数 | 小写蛇形 | `user_list`, `device_id` |
| 类名 | 大驼峰 | `UserService`, `ConfigParser` |
| 常量 | 全大写蛇形 | `MAX_RETRY_COUNT`, `DEFAULT_TIMEOUT` |
| 文件名 | 小写蛇形 | `user_service.js` |
| 目录名 | 小写蛇形 | `utils`, `global_func` |

## CSS 命名标准

| 类型 | 格式 | 示例 |
|:-----|:-----|:-----|
| BEM类名 | `block__element--modifier` | `card__title--active` |
| 框架前缀 | `mm_` 前缀 | `mm_card`, `mm_btn` |
| CSS自定义属性 | 双连字符 | `--color-primary` |
| 媒体查询 | mobile-first | `min-width: 768px` |

## 目录命名约定

- 小写蛇形：`user_service/`、`global_func/`
- 语义化：目录名清晰表达用途
- 避免数字前缀：不要用 `01_xx/` `02_yy/` 排序
