通用 AI 编程技巧
无论你使用 Cursor、Copilot 还是 ChatGPT 进行编程,掌握通用的 AI 编程方法论能让效率提升数倍。这不是某个工具的教程,而是一套适用于所有 AI 编程场景的思维框架。
1. 分治策略
不要试图让 AI 一次性生成整个系统。正确做法是:先让 AI 设计项目结构和模块划分,确认架构后再逐个模块实现。每个模块聚焦单一职责,代码量控制在 50-200 行为宜。这样的好处是:(1) AI 理解上下文更精准;(2) 出错时容易定位;(3) 便于单元测试覆盖。
2. 上下文管理
AI 的上下文窗口有限,要善于管理:(1) 只粘贴与当前任务直接相关的代码片段,不要一股脑全给;(2) 先粘贴接口定义和类型声明,再给实现代码;(3) 使用 .cursorrules 或项目级 prompt 定义全局规范,减少重复说明;(4) 大的修改分多次进行,每次只改 1-2 个文件。
3. TDD + AI 工作流
TDD(测试驱动开发)与 AI 编程是绝配:(1) 先让 AI 根据需求生成测试用例;(2) 运行测试确认失败(RED);(3) 让 AI 实现代码使测试通过(GREEN);(4) 让 AI 审查代码质量并重构(REFACTOR)。这个循环能保证代码质量和功能正确性。
4. 让 AI 做 Code Review
AI 非常适合代码审查。把 git diff 粘贴给 AI,要求它从以下维度审查:安全性(SQL注入/XSS/未处理异常)、性能(N+1查询/不必要的重渲染)、可维护性(命名/函数长度/耦合度)、边界条件(空值处理/并发安全)。AI 通常能发现人类审查者容易忽略的问题。
最佳实践
用 TDD+AI 循环高效开发新功能
🎯 需要开发一个新的用户认证模块
在空测试文件中写注释描述需求:「// Tests for auth module: 1)register with email+password 2)login with correct credentials 3)reject wrong password 4)handle duplicate email 5)validate email format」。Tab让AI生成完整测试代码。
→ 先看到红色测试失败列表,明确了需要实现的全部功能边界
选中全部测试,Ctrl+L输入:「Implement the auth module to make all tests pass. Use bcrypt for hashing, JWT for tokens, Zod validation. Clean TypeScript with error handling.」
→ AI自动生成通过全部测试的实现代码,包括类型定义和错误处理
全绿后输入:「Review this implementation for security issues (SQL injection, XSS, timing attacks) and performance bottlenecks. Suggest improvements.」
→ 获得安全审计报告和改进建议,后端代码达到生产级别
让AI先生成测试再写实现,能避免AI「为了通过而通过」的倾向,产出更健壮的代码
用 AI Code Review 发现人类容易忽略的问题
🎯 PR提交前做最后一次全面代码质量检查
运行git diff origin/main > changes.diff,将内容粘贴给AI:「Review for: 1)Security(injection, auth bypass, secret exposure) 2)Performance(N+1, missing memoization) 3)Breaking changes. Flag CRITICAL/HIGH/MEDIUM/LOW.」
→ 获得专业的安全+性能+兼容性审查报告,标注严重等级
对AI标记的问题逐一修复。对复杂问题粘贴代码:「Show me the exact code change to fix this SQL injection vulnerability.」
→ 每个问题获得具体的修复代码,复制粘贴即可应用
最后:「Generate a concise PR review summary with key changes, rationale, and testing checklist for the reviewer.」
→ 一份专业的PR Review Summary,减少reviewer的理解成本
在.git/hooks/pre-commit中集成AI审查,提交前自动检查CRITICAL级别问题
专家提示
- 每完成一个功能模块就 commit,AI 出bug 时方便回退