SuperAPI AI 工具集

code-style

测试与质量

查看项目

更新于 10-16 07:24

技能介绍

用途:这是 Megatron Bridge 项目代码风格约定的参考依据,写新代码或审查 PR 前应先阅读。底层采用 Google Python 与 Shell 风格指南,仓库以 Python 为主,目标 Python 3.10+。

主要能力与规则:格式化与检查通过 ruff 强制执行,提交前运行 uv run ruff check --fix . 与 uv run ruff format .,pre-commit 钩子会自动执行。ruff 关键规则包括行长 119、双引号、F541、F841、F401、E741、F821、E266、I 排序、D101/D103;init.py 忽略 F401/F403,测试文件忽略 D101/D103。命名上文件与函数用 snake_case、类用 PascalCase、常量用 UPPER_SNAKE、全局变量加 G_ 前缀、变量以数字开头时加 k_ 前缀,并避免遮蔽外层变量。导入按 future、标准库、第三方、first-party(megatron.bridge.*)、本地文件夹五组以空行分隔。类型标注要求所有公共 API 必需,使用 T | None 与内置泛型,并配合 mypy --strict 检查:无 Any 泄漏、无未标注函数、无隐式 Optional、慎用 cast 与 # type: ignore。对可能被误换的同类型参数用裸 * 强制关键字传参。公共类与函数使用 Google 风格 docstring,出错时使用具体异常并保持 try 体最小。日志用 logging.getLogger(name),分布式场景用 print_rank_0 / warn_rank_0,避免裸 print。所有 Python 文件与 Shell 脚本需加 NVIDIA 版权头(使用当前年份),tests/ 下测试文件除外。测试分单元与功能测试,使用 pytest 夹具与 marker,功能测试限 2 块 GPU。

限制:本文档偏规范约定,不提供完整代码示例与工具安装以外的具体实现;具体命令行与规则以仓库配置为准。