CANN/CATCCOS预提交代码检查指南
2026/5/9 16:08:33 网站建设 项目流程

Pre-commit 代码检查配置说明

【免费下载链接】catccosCATCCOS昇腾计算-通信融合算子模板库,是一个聚焦于提供高性能计算通信融合类算子基础模板的代码库。项目地址: https://gitcode.com/cann/catccos

本文档说明本次为 catccos 项目的 pre-commit 代码检查配置。

新增检查清单

1. 通用基础检查 (pre-commit-hooks)

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

4. 拼写检查 (typos)

  • 检测代码和文档中的拼写错误
  • 配置:pre-commit/typos.toml,已添加昇腾生态相关词汇白名单

5. C++ 代码格式化 (clang-format)

  • 自动格式化 C/C++ 代码
  • 风格: Google Style,4 空格缩进,120 列限制,Allman 大括号风格
  • 匹配文件:*.c, *.h, *.cpp, *.hpp, *.cc, *.hh, *.cxx, *.hxx

配置文件说明

文件用途
.pre-commit-config.yamlpre-commit 主配置,定义 hooks
pre-commit/pyproject.tomlPython 工具配置(ruff、bandit)
pre-commit/typos.toml拼写检查词典白名单

使用方式

# 安装 hook(首次) pre-commit install # 对所有文件运行检查 pre-commit run --all-files # 提交时自动触发检查 git commit -m "..."

【免费下载链接】catccosCATCCOS昇腾计算-通信融合算子模板库,是一个聚焦于提供高性能计算通信融合类算子基础模板的代码库。项目地址: https://gitcode.com/cann/catccos

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询