用途:这是 AutoGPT 后端使用的 Python 代码风格偏好,在编写新 Python 代码、审查 PR 或进行代码评审时触发,用于统一后端的编码规范。
主要能力与要求: 导入方面,要求所有导入必须位于文件顶层,禁止局部或内层导入,需将全部导入移动到文件顶部。
类型方面,禁止鸭子类型,避免使用 hasattr、getattr、isinstance 做类型分发,应改用明确的类型接口、联合类型或协议;结构化数据优先使用 Pydantic 模型,而非 dataclass、namedtuple 或原始 dict;同时禁止使用 linter 抑制注释,如 # type: ignore、# noqa、# pyright: ignore 等,绝大多数情况下正确做法是修复类型或代码,而不是屏蔽工具。
代码结构方面,鼓励用列表推导式替代手写的循环加 append;提倡尽早返回,先写守卫子句,避免深层嵌套;行内逻辑尽量扁平,使用简短简洁的表达式,在可读的前提下用直接返回或三元表达式减少 if/else 链;函数要模块化,把复杂逻辑拆分为小而专注的函数,而不是写带嵌套条件的长代码块。
审查清单:在完成前需要自问,是否有函数可以拆分成更小的部分;是否存在可用提前返回消除的多余嵌套;是否有循环可以改写为推导式;是否有更简单的方式表达这段逻辑。
限制:资料未提供收费、价格、适用平台等信息。该规范属于 AutoGPT 后端特定偏好,其他项目或语言是否适用暂未提供。