用途
本技能面向 Python 项目的开发工具配置与最佳实践,用于在搭建 Python 项目、配置 linter、类型检查器、格式化工具、测试框架与包管理器时提供统一规范。其目标是通过静态分析与自动化检查提前发现问题,降低技术债,并在 CI/CD 中维持一致的代码质量,从而减少代码审查负担。
工具组成
资料推荐采用以下工具:
- pyscn:检测死代码、重复代码(clones)与循环依赖,防止技术债累积。
- ruff:通过快速静态分析尽早发现缺陷与风格违规,同时承担格式化与导入排序。
- mypy:在运行前通过类型检查发现错误,并改善 IDE 补全体验。
- pytest:通过可靠测试增强对代码变更的信心。
- uv:以快速的依赖管理改善开发者体验。
这些工具被组织为六个类别:分析(Analysis,HIGH)、静态检查(Linting,CRITICAL)、类型检查(Type Checking,HIGH)、格式化(Formatting,HIGH)、测试(Testing,HIGH)与包管理(Package Management,MEDIUM)。每个类别下列出对应规则:analysis-pyscn、lint-ruff、type-mypy、fmt-ruff、test-pytest、pkg-uv、pkg-pyproject。
使用方式
资料提供了一份最小 pyproject.toml 配置示例,涵盖项目元数据、开发依赖、ruff、mypy、pytest 与 pyscn 的配置项。同时给出常用命令:
# Analysis
pyscn analyze . # Full quality analysis
pyscn check . # CI quality gate
# Linting
ruff check . # Check for issues
ruff check . --fix # Auto-fix issues
# Formatting
ruff format . # Format code
# Type checking
mypy . # Type check
# Testing
pytest # Run tests
pytest --cov=src # With coverage
# Package management (uv)
uv pip install -e ".[dev]" # Install with dev deps
uv pip compile pyproject.toml -o requirements.lock
适用场景
适用于 Python 项目的初始化配置、代码质量门禁设置、类型安全检查、代码格式化与导入排序、测试与覆盖率运行,以及依赖安装与锁定。特别适合需要将上述检查集成到 CI/CD 流程中以维持质量一致的团队项目。
限制与暂未提供
资料未提供各工具的具体版本要求、uv 之外的安装方式、pyscn 的完整配置项说明、除示例外的详细最佳实践展开,以及任何关于收费、价格或平台支持的信息,这些内容暂未提供。使用时应以实际工具文档为准。