From 437aa95327151eb8ef6f4c8089908e52056f660d Mon Sep 17 00:00:00 2001 From: Wanderingss <1624155937@qq.com> Date: Tue, 1 Sep 2026 14:57:43 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0README=EF=BC=9A=E7=9B=AE?= =?UTF-8?q?=E5=BD=95=E7=BB=93=E6=9E=84=E3=80=81pre-commit=E4=BB=A3?= =?UTF-8?q?=E7=A0=81=E5=AE=A1=E6=9F=A5=E5=B0=8F=E8=8A=82=E3=80=81=E6=96=87?= =?UTF-8?q?=E6=A1=A3=E7=B4=A2=E5=BC=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 目录结构:docs/ 增加 代码规范/ 子目录与顶层文档 - 开发规范:新增「自动化代码审查(pre-commit)」小节 - 文档索引:修正代码规范文档移动后的路径, 补充 UI / 墙钟时间 / LVGL 模拟器 / 测试流程等文档 --- README.md | 44 ++++++++++++++++++++++++++++++++++++++------ 1 file changed, 38 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index 313d8170..bb83e9d8 100644 --- a/README.md +++ b/README.md @@ -138,9 +138,11 @@ STM32F4-Base/ │ ├── sd2506_test_task.c/h # RTC 测试 │ └── storage_test_task.c/h # 存储性能测试 ├── docs/ # 项目文档 +│ ├── 代码规范/ # C 代码规范、pre-commit / cppcheck 使用说明 │ ├── 问题记录/ # 已知陷阱与解决方案 │ ├── 测试说明/ # 测试指南 -│ └── 芯片手册/ # 硬件数据手册 +│ ├── 芯片手册/ # 硬件数据手册 +│ └── *.md # 存储架构 / UI 规划 / 墙钟时间 / 启动顺序 / LVGL 模拟器 ├── tools/ # 开发工具 │ └── font_gen/ # 中文字体生成工具 ├── STM32F407-Demo.ioc # CubeMX 工程文件 @@ -254,6 +256,25 @@ powershell -ExecutionPolicy Bypass -File test\run_boot_test.ps1 新文件需手动添加到 Keil MDK 工程才能编译。 +### 自动化代码审查(pre-commit) + +每次 `git commit` 自动执行检查,任一失败即拦截提交: + +- 行尾空格 / 文件尾换行(自动修复) +- 大文件 / 冲突标记 / YAML 语法(拦截) +- **cppcheck 静态分析**:warning / performance / portability / style 四类,发现问题即拦截 +- U+FFFD 乱码(拦截,不可逆损坏) +- commit message 格式(gitlint,拦截) + +```bash +# 新机器启用钩子 +pre-commit install +# 全库扫描(配置变更后验证) +pre-commit run --all-files +``` + +详见 `docs/代码规范/pre-commit使用说明.md` 与 `docs/代码规范/cppcheck使用说明.md`。 + ## 关键文件索引 | 文件 | 说明 | @@ -279,11 +300,22 @@ powershell -ExecutionPolicy Bypass -File test\run_boot_test.ps1 ## 文档 -- `docs/项目启动顺序管理.md` — Event Flags 就绪屏障设计 -- `docs/STM32F4-Base存储架构说明.md` — 三层存储软件栈详解 -- `docs/嵌入式C语言代码规范(V1.0).md` — 代码规范 -- `docs/测试说明/自动化测试流程.md` — 测试流程说明 -- `docs/芯片手册/` — 硬件数据手册 +| 文档 | 说明 | +|------|------| +| `docs/STM32F4-Base存储架构说明.md` | 三层存储软件栈详解(FatFS → dhara FTL → NAND) | +| `docs/项目启动顺序管理.md` | Event Flags 就绪屏障设计 | +| `docs/系统墙钟时间维护说明.md` | RTC + 墙钟时间子系统 | +| `docs/UI_图形界面实施规划.md` | LVGL UI 实施规划 | +| `docs/UI_中文字体生成与配置.md` | 中文字体生成与配置 | +| `docs/LVGL模拟器部署与使用说明.md` | LVGL PC 模拟器部署 | +| `docs/代码规范/嵌入式C语言代码规范(V1.0).md` | C 语言代码规范 | +| `docs/代码规范/pre-commit使用说明.md` | 自动化代码审查部署与使用 | +| `docs/代码规范/cppcheck使用说明.md` | cppcheck 规则、配置与误报抑制 | +| `docs/测试说明/自动化测试流程.md` | 构建 → 烧录 → 串口校验闭环 | +| `docs/测试说明/` | 各模块测试指南(CH395F / NAND / FTP / RTC / 串口调试) | +| `docs/测试开发标准流程.md` / `docs/测试文档模板规范.md` | 测试开发流程与文档模板 | +| `docs/问题记录/` | 已知陷阱与解决方案(CH395F / NAND / RTC) | +| `docs/芯片手册/` | 硬件数据手册 | ## 许可证