SuperAPI AI 工具集

python-anti-patterns

编程与开发

查看项目

更新于 10-16 06:22

技能介绍

用途:这是一个 Python 反模式(anti-pattern)参考清单,用于在最终确定实现前、代码评审时或调试疑难问题时对照排查常见错误。它聚焦“应避免什么”,正向模式与架构可参考 python-design-patterns 技能。

主要能力与检查项: 基础设施:避免超时/重试逻辑分散(应集中到装饰器或客户端封装)、避免多层重复重试、避免硬编码配置与密钥(改用环境变量配合 pydantic-settings 等类型化设置)。 架构:避免暴露内部类型(如 ORM 模型直接作为 API 返回,应使用 DTO/响应模型)、避免 I/O 与业务逻辑混杂(可用仓储模式保持业务逻辑纯粹)。 错误处理:避免裸 except Exception: pass 吞掉异常(应捕获具体异常并记录或处理)、避免批量处理遇首个错误即中止(应返回包含成功与失败的 BatchResult)、避免缺少输入校验(应在边界用 Pydantic 提前校验)。 资源:避免未关闭资源(用上下文管理器 with)、避免在异步代码中阻塞事件循环(用 asyncio.sleep、httpx.AsyncClient 等异步原生库)。 类型安全:避免缺少类型注解、避免无类型参数的集合(用 list[User] 而非 list)。 测试:避免只测正常路径(应覆盖错误与边界)、避免过度 Mock(关键路径用集成测试,只 Mock 外部服务)。

使用方式:在合并前、调试或重构遗留代码时逐项对照清单。清单按优先级分为:红色关键项(合并前必须修复,如吞异常、硬编码密钥、缺校验、异步阻塞)、黄色需关注项(分散重试、双重重试、暴露内部类型、I/O 与逻辑混杂、忽略部分失败、未关闭资源)、绿色良好实践(公共函数类型注解、集合带类型参数、测试错误路径与边界)。

适用场景:Python 代码评审、实现收尾自查、疑难问题排查、遗留代码重构。

限制:资料未提供安装命令、运行方式、平台支持、收费或价格信息,暂未提供。