Pre-commit 代码检查配置说明
本文档说明本次为 catccos 项目的 pre-commit 代码检查配置。
新增检查清单
| Hook |
功能 |
trailing-whitespace |
删除行尾空格 |
end-of-file-fixer |
确保文件以空行结尾 |
check-yaml |
验证 YAML 语法 |
check-json |
验证 JSON 语法 |
check-added-large-files |
阻止提交大文件(默认 >500KB) |
check-merge-conflict |
检测合并冲突标记 |
detect-private-key |
检测私钥/敏感信息泄露 |
2. Python 代码检查 (ruff)
- ruff lint: 代码规范检查(规则配置见
pre-commit/pyproject.toml)
- 启用
D209(多行文档字符串格式)
- 启用
SIM115(推荐 with 语句)
- ruff format: 自动代码格式化
- 配置: 使用
pre-commit/pyproject.toml,兼容 Python 3.10+
3. Python 安全扫描 (bandit)
- 扫描常见的 Python 安全漏洞(如硬编码密码、不安全的 eval、SQL 注入等)
- 配置: 中危及以上级别,配置见
pre-commit/pyproject.toml
- 检测代码和文档中的拼写错误
- 配置:
pre-commit/typos.toml,已添加昇腾生态相关词汇白名单
- 自动格式化 C/C++ 代码
- 风格: Google Style,4 空格缩进,120 列限制,Allman 大括号风格
- 匹配文件:
*.c, *.h, *.cpp, *.hpp, *.cc, *.hh, *.cxx, *.hxx
配置文件说明
| 文件 |
用途 |
.pre-commit-config.yaml |
pre-commit 主配置,定义 hooks |
pre-commit/pyproject.toml |
Python 工具配置(ruff、bandit) |
pre-commit/typos.toml |
拼写检查词典白名单 |
使用方式
pre-commit install
pre-commit run --all-files
git commit -m "..."