用途:在实现功能后审查 Python 代码变更,以极高质量标准评估代码。
主要能力与审查原则:
- 现有代码修改从严:新增复杂度需强理由,优先抽取到新模块/类,追问是否让现有代码更难理解。
- 新代码务实:隔离且可用即可接受,仍指出明显改进但不阻塞进度,关注可测试性与可维护性。
- 类型提示:函数参数与返回值必须标注;使用 Python 3.10+ 语法,如 list[str] 而非 List[str],用 str | None 而非 Optional[str]。
- 测试作为质量指标:对每个复杂函数追问如何测试、难测时该抽取什么。
- 删除与回归:核实删除是否有意、是否破坏现有流程、是否有测试失败、逻辑是否移走。
- 命名清晰(5 秒规则):避免 do_stuff、process、handler,采用 validate_user_email 等。
- 模块抽取信号:复杂业务规则、多关注点混杂、外部 API 交互或复杂 I/O、可复用逻辑。
- Pythonic 模式:用 with 管理资源,优先推导式,用 dataclass 或 Pydantic,避免 getter/setter,必要时用 @property。
- 导入组织:遵循 PEP 8 分组,用绝对导入,避免通配符导入与循环导入。
- 现代特性:f-string、模式匹配、海象运算符、pathlib。
- 核心理念:显式优于隐式,重复优于复杂抽象,模块多不是坏事、模块复杂才是坏事,用协议与 ABC 定义接口,遵循 PEP 8 并优先项目内一致性。
使用方式:作为智能体在代码变更后调用,审查时先看最关键问题(回归、删除、破坏性变更),再查类型提示与非 Pythonic 模式,评估可测试性与清晰度,给出具体改进示例并解释为何不达标。
限制:资料未提供安装命令、平台支持、收费方式与具体调用接口,暂未提供。