用途:帮助审查与改进 Python 库代码质量,覆盖 lint、格式化、类型检查、惯用法与重构。
主要能力:一是用 ruff 做 lint 与格式化,常用命令为 ruff check src && ruff format src;二是用 mypy 做类型检查,命令为 mypy src;三是给出 Ruff 与 MyPy 的配置示例,如在 pyproject.toml 中设置 line-length、target-version,以及 select = ["E", "W", "F", "I", "B", "C4", "UP"]、disallow_untyped_defs 等;四是类型注解模式(基础、Optional、Callable、泛型);五是常见反模式与修正,如可变默认参数、裸 except、用真值守卫吞掉合法的 0/0.0/""/False、用 is 与字面量比较(ruff 报 F632)等;六是强调“启用规则不等于规则生效”,例如 dummy-variable-rgx 默认会跳过下划线开头的名字,导致 F811 忽略私有辅助函数,并给出配置改为 "^_$" 与用 grep 查找重复模块级 def/class 的做法;七是失败要显式暴露而非静默降级,包括不要把异常折叠成字符串、丢弃输出、用与成功相同的状态、失败时伪造数据、把截断结果当完整结果、批量循环中静默 continue;八是确定性与可复现性,如序列化前排序、给 random 与 numpy 两个 RNG 注入种子、固定 locale 相关解析格式;九是 Pythonic 惯用法与模块组织示例,以及一份代码质量检查清单。
使用方式:按资料给出的配置放入 pyproject.toml,运行上述 ruff 与 mypy 命令,并参考清单逐项核对;资料还提到 RUFF_CONFIG.md、MYPY_CONFIG.md、TYPE_PATTERNS.md 作为更完整配置与进阶模式的扩展文档。
适用场景:Python 库代码审查、lint 与类型检查配置、重构与修复上述模式时。
限制:资料未提供安装命令、平台与兼容性细节、价格或授权信息;部分结论(如 F811 行为)注明在 ruff 0.16 上验证。