用途:这是一份 Python 开发技能规范,目标是通过类型安全与测试驱动开发(TDD)提升代码质量,统一项目结构与工具链。
主要能力与约定:
- 类型提示:所有函数签名使用类型提示,复杂类型用 typing 模块,CI 中运行 mypy --strict。
- 项目结构:采用 src 布局,core 放纯业务逻辑(models、services),infra 放副作用(api、db),utils 放共享工具,tests 分 unit 与 integration,根目录含 pyproject.toml 与 CLAUDE.md。
- 必需工具:pyproject.toml 中配置 ruff(line-length=100,select E/F/I/N/W/UP)、mypy(strict=true)、pytest(testpaths=tests,覆盖率 --cov=src --cov-fail-under=80)。
- 测试:用 pytest 编写单元测试,遵循 Arrange-Act-Assert,覆盖正常、边界与异常路径。
- CI:GitHub Actions 质量门禁,依次执行 ruff check、ruff format --check、mypy src/、pytest。
- 提交钩子:pre-commit 集成 ruff、ruff-format、mypy(--strict)与本地 pytest。安装命令:pip install pre-commit 与 pre-commit install。
- 模式:用 Pydantic 做数据校验;业务逻辑通过参数注入依赖而非直接导入;核心层用 Result 模式替代异常。
- 反模式:禁止 from module import *、可变默认参数、裸 except、无说明的 type: ignore、全局状态变量、函数足够时使用类。
适用场景:需要统一团队 Python 工程规范、强化类型检查与测试覆盖的项目。
限制:资料未提供具体版本兼容范围、性能数据或收费信息;示例代码需按实际项目调整。