Become a sponsor

代码审查(Code Review)是保障代码质量的重要环节。本文提供标准化的审查清单,覆盖安全、性能、规范、边界等维度,帮助审查者系统性地检查代码质量。
审查原则
FASTAPI_DEBUG=FalseJWT_SALT 使用强密码,未硬编码在代码中allow_origins=["*"],仅列出信任域名@permission_required 和 @check_demo 装饰器.env 文件未提交到 Git(在 .gitignore 中)SELECT *async def 端点中未直接调用同步 DB 查询executemany,非逐条执行@router → @permission_required → @check_demoR.ok()/R.failed() 返回,禁止直接返回 dictbatch_delete_with_r 静态方法,禁止直接调用 repo.batch_deletexxx_repo = XxxRepository(Model))xxx_service = XxxService())max_length)ge/le/gt/lt 约束is_delete = 0base_model 和 base_db__tablename__ = DB_PREFIX + "表名"comment 参数描述字段用途server_default 与数据库默认值一致sys:{module}:{action}R.ok()/R.failed()/R.page()api/v1/router.py 中注册getXxxPage/addXxx/updateXxx/deleteXxx[严重] 安全问题:SQL 拼接存在注入风险,应使用 ORM 参数化查询
[建议] 性能优化:此处可用 joinedload 避免 N+1 查询
[疑问] 这里的 try-except 吞掉了异常,是否需要记录日志?
[肯定] 使用 batch_delete_with_r 统一封装删除响应,符合规范审查态度
代码审查清单覆盖安全、性能、规范、边界、数据库、API、前端、提交等 8 个维度。审查时按清单逐项检查,区分严重问题和建议优化。核心关注点:权限校验是否完整、SQL 是否安全、同步/异步是否正确、响应格式是否统一。审查意见应具体可操作,帮助团队持续提升代码质量。