当前位置: 首页 > news >正文

19|让 AI 像代码审查一样挑错:Checklist 驱动的提问

本篇目标:不仅让 AI 写代码,还要让它做你的“毒舌导师”。学会这招,你的代码质量将超越 80% 的初级工程师。


一、为什么需要 AI 做 Review?

很多初学者写代码是“能跑就行”。

  • 变量名叫a,b,c
  • 函数长达 200 行。
  • 没有任何异常处理,一报错就崩。
  • 密码直接写在代码里。

在公司里,这些代码会被 Senior 工程师骂死。但如果你是一个人开发,谁来骂你?
AI 可以。而且它比真人更全面、更耐心,只要你给它一份Checklist(检查清单)


二、不要只问“这段代码怎么样?”

如果你问:“帮我看看这段代码。”
AI 通常会说:“写得真棒!逻辑清晰!稍微改改这里就好了……”(全是客套话)。

必须强制它“找茬”。你要告诉它:“请假设你是一个最挑剔的代码审查员(Code Reviewer),你的任务是找出所有潜在的问题。”


三、构建你的 Review Checklist

一个合格的代码审查,应该覆盖以下维度:

1. 安全性(Security)

  • 有没有 SQL 注入?
  • 有没有硬编码密钥?
  • 有没有暴露敏感数据?

2. 性能(Performance)

  • 有没有 O(N^2) 的循环?
  • 有没有重复查询数据库(N+1 问题)?
  • 有没有内存泄漏风险?

3. 可读性与规范(Readability)

  • 变量名是否清晰?
  • 是否符合 PEP8 (Python) / Airbnb (JS) 规范?
  • 有没有写注释?

4. 健壮性(Robustness)

  • 输入为空怎么办?
  • 网络断了怎么办?
  • 文件不存在怎么办?

四、实战:Review 提示词模板

请直接复制这段 Prompt,保存为Reviewer.md

# Role You are a Senior Software Architect known for strict code reviews. # Task Review the provided code against the following Checklist. # Checklist 1. **Security**: Check for SQL injection, XSS, and hardcoded secrets. 2. **Performance**: Identify O(N^2) loops, redundant computations, or N+1 queries. 3. **Error Handling**: Are exceptions caught specifically? Is there a fallback logic? 4. **Readability**: Are variable names descriptive? Are functions small and focused? 5. **Type Safety**: Are type hints used correctly? # Output Format Please output the review in the following Markdown format: ## 🚨 Critical Issues (Must Fix) - [Line 12]: Explanation of the bug/security risk. ## ⚠️ Suggestions (Should Fix) - [Line 45]: Suggestion to improve readability or performance. ## ✅ Good Practices - Mention 1-2 things done well (to keep morale up). # Code [贴入你的代码]

五、演示:AI 如何把“烂代码”批得体无完肤

你的代码

defget_user(id):importmysql.connector conn=mysql.connector.connect(user='root',password='123',database='test')cursor=conn.cursor()cursor.execute("SELECT * FROM users WHERE id = "+id)# 👈 SQL注入 + 没关连接returncursor.fetchone()

AI Review 结果

🚨 Critical Issues (Must Fix)

  • [Line 3] Hardcoded Secrets: 密码'123'直接写在代码里了。请使用环境变量。
  • [Line 5] SQL Injection: 使用字符串拼接 SQL 是极度危险的。请使用参数化查询execute("SELECT * FROM users WHERE id = %s", (id,))
  • [Line 6] Resource Leak: 数据库连接conn没有关闭。如果函数报错,连接会一直挂着。请使用with语句或finally块。

⚠️ Suggestions (Should Fix)

  • [Line 1] Import inside function: 建议把import移到文件顶部。
  • [Line 1] Variable Name:id是 Python 内置函数名,建议改名为user_id
  • [Line 1] Missing Type Hints: 请加上user_id: int和返回类型注解。

六、总结:团队级 Review Checklist

如果你在团队里,可以把这个清单打印出来,作为 Code Review 的标准:

维度检查项为什么重要
安全密钥、注入、权限防止删库跑路
性能循环、IO、并发防止服务器卡死
健壮空值、异常、重试防止半夜被叫起来修 Bug
规范命名、格式、注释防止同事看不懂想打人

下一步:我们已经学会了怎么写代码、怎么修 Bug、怎么 Review。但在实际工作中,还有一个巨大的隐患——AI 可能会一本正经地胡说八道(幻觉)。下一章我们将学习如何用“反幻觉策略”来验证 AI 的每一个字。

http://www.jsqmd.com/news/533947/

相关文章:

  • 2026养发生发加盟品牌前十:市场趋势与优质选择推荐 - 品牌排行榜
  • 2026年全脸抗衰品牌哪家好?美人媄科技抗衰进入“中国时间” - 深度智识库
  • 2026年!大模型推理平台优选推荐榜单——白菜大模型推理平台深度评测与选型指南 - 博客万
  • 2026年3月北京工业设计公司最新推荐:产品设计、外观设计、结构设计、设备仪器及机器人设计服务商选择指南 - 海棠依旧大
  • extract-xiso:开源Xbox ISO文件管理工具的全方位应用指南
  • 2026年南京口碑好的有机玻璃品牌制造商推荐,专业服务全解析 - mypinpai
  • 景区数据安全不容忽视!巨有科技防护方案,守住数字化运营底线
  • s2-pro语音合成教程:支持中英混读、标点停顿控制与语速微调技巧
  • 精密运放、仪表放大器等关键模拟器件行业分析及优质企业梳理 - 深度智识库
  • 【2026年最新600套毕设项目分享】springboot医疗设备维护平台(14241)
  • 嵌入式开发实战:用i2ctransfer搞定I2C设备寄存器读写(附完整命令示例)
  • Android波形动画终极指南:用WaveView打造酷炫进度条与音乐可视化
  • 2026年伺服热压机生产厂家分析分析,整形机/电子压床/粉末压机/热压整形机/伺服压装机,伺服热压机直销厂家怎么选择 - 品牌推荐师
  • 3种破解方案:QMCDecode让QQ音乐加密格式限制成为历史
  • Path of Building深度解析:5大实战场景的完整Build规划解决方案
  • CPU也能跑!MinerU轻量文档解析,快速搭建你的智能阅卷系统
  • JFoenix完全指南:为JavaFX应用打造Material Design风格UI的终极教程
  • Ostrakon-VL-8B开源模型社区贡献指南:问题反馈与代码提交
  • 流程管理系统功能拆解:如何解决传统流程管理中的协作难题与审批场景效率问题
  • 无核显CPU + P40 + N卡亮机卡 Windows 10 配置:解锁P40双用途的终极指南
  • OpenClaw怎么集成使用?2026年OpenClaw龙虾AI京东云10分钟部署喂奶级教程
  • 基于MATLAB/SIMULINK的异步电动机矢量控制系统探秘
  • VLC播放器换肤终极指南:5款VeLoCity主题让你的播放体验焕然一新
  • 如何快速构建AI金融交易系统:TradingAgents-CN多智能体框架完整指南
  • bpftrace:Linux系统追踪的瑞士军刀
  • 阿里达摩院发布RISC-V CPU玄铁C950,刷新全球性能纪录
  • ChatTTS v3 下载与实战:从模型部署到生产环境优化指南
  • 开源2D MMORPG引擎:Kaetram重塑网页游戏开发新范式
  • BooruDatasetTagManager:AI图像标注工具的终极解决方案
  • 如何有效帮助多动孩子解决学习困难?