提升 AI 编程效率的 10 个实用技巧
引言
GitHub Copilot、Cursor、Claude Code 等 AI 编程工具已经成为开发者的标配。但很多人只是把它当"智能补全"用,远没有发挥出真正的潜力。
本文基于 GitHub 官方文档和社区最佳实践,总结了 10 个实用技巧,帮你把 AI 编程效率提升 10 倍。
官方资料来源:
- GitHub Copilot Documentation
- Best practices for using GitHub Copilot
- Prompt engineering for GitHub Copilot
技巧 1:写好注释,让 AI 理解你的意图
❌ 不好的做法:
function process(data) {
// AI 不知道你要做什么
}
✅ 好的做法:
// 从用户数据中提取邮箱地址,验证格式,去重后返回数组
function extractValidEmails(userData) {
// Copilot 会自动生成完整实现
}
官方建议:
- 用自然语言描述函数功能
- 说明输入输出格式
- 提及边界情况(如空值处理)
技巧 2:提供示例数据
❌ 模糊的需求:
# 解析 API 响应
def parse_response(data):
✅ 带示例的需求:
# 解析 API 响应
# 输入示例: {"users": [{"id": 1, "name": "Alice"}], "total": 100}
# 输出: 返回用户列表和总数
def parse_response(data):
# AI 会根据示例生成准确的解析代码
技巧 3:利用上下文(Context)
AI 会读取当前文件和相关文件的代码。利用这一点:
场景: 你有一个 User 类,想生成相关的工具函数
// User.ts
export class User {
constructor(
public id: string,
public name: string,
public email: string,
public createdAt: Date
) {}
}
// UserUtils.ts
// 生成一个函数,从 User 对象创建显示名称(格式:name <email>)
export function formatUserDisplay(user: User): string {
// AI 会自动引用 User 类的结构
return `${user.name} <${user.email}>`;
}
官方提示:
- 打开相关文件,AI 会自动读取上下文
- 使用
@workspace让 AI 搜索整个项目
技巧 4:分步骤引导 AI
❌ 一次性要求太多:
// 实现一个完整的用户认证系统,包括注册、登录、JWT、密码加密、邮箱验证
✅ 分步骤实现:
// 步骤 1: 实现密码哈希函数(使用 bcrypt)
async function hashPassword(password: string): Promise<string> {
// AI 生成
}
// 步骤 2: 实现密码验证函数
async function verifyPassword(password: string, hash: string): Promise<boolean> {
// AI 生成
}
// 步骤 3: 实现用户注册逻辑
async function registerUser(email: string, password: string) {
// AI 会结合前面的函数生成
}
技巧 5:使用 Chat 模式进行复杂任务
对于复杂需求,用 Chat 模式(Ctrl+I 或 Cmd+I)而不是 inline 补全:
示例对话:
你: 帮我重构这个函数,使用 async/await 替代 Promise 链
AI: [生成重构后的代码]
你: 再加上错误处理和重试逻辑
AI: [在原有基础上添加]
优势:
- 可以迭代优化
- AI 会记住上下文
- 可以要求解释代码
技巧 6:利用测试驱动开发(TDD)
先写测试,让 AI 生成实现:
// 先写测试
describe('calculateDiscount', () => {
it('should apply 10% discount for orders over $100', () => {
expect(calculateDiscount(150, 'SAVE10')).toBe(135);
});
it('should return original price for invalid coupon', () => {
expect(calculateDiscount(150, 'INVALID')).toBe(150);
});
});
// 然后让 AI 生成实现
function calculateDiscount(price: number, coupon: string): number {
// AI 会根据测试用例生成正确的逻辑
}
技巧 7:使用 Slash Commands
GitHub Copilot Chat 支持多种命令:
/explain- 解释选中的代码/fix- 修复 bug/tests- 生成测试用例/doc- 生成文档注释/optimize- 优化性能
示例:
// 选中一段复杂代码,输入 /explain
// AI 会逐行解释代码逻辑
// 选中有 bug 的代码,输入 /fix
// AI 会找出问题并修复
技巧 8:代码审查和重构
场景 1:代码审查
// 选中代码,问 AI:
// "这段代码有什么潜在问题?"
function processData(data) {
for (var i = 0; i < data.length; i++) {
setTimeout(() => console.log(data[i]), 1000);
}
}
// AI 会指出:
// 1. 使用 var 导致闭包问题
// 2. 应该用 let 或箭头函数
场景 2:重构
// 问 AI:"把这个函数重构成更函数式的风格"
// 原代码
function filterAndMap(arr) {
let result = [];
for (let i = 0; i < arr.length; i++) {
if (arr[i] > 10) {
result.push(arr[i] * 2);
}
}
return result;
}
// AI 重构后
const filterAndMap = (arr) =>
arr.filter(x => x > 10).map(x => x * 2);
技巧 9:生成样板代码(Boilerplate)
示例 1:Express 路由
// 创建一个 RESTful API 路由,包含 CRUD 操作
// 资源:users
// 字段:id, name, email
// AI 会生成完整的路由代码
router.get('/users', async (req, res) => { /* ... */ });
router.post('/users', async (req, res) => { /* ... */ });
router.put('/users/:id', async (req, res) => { /* ... */ });
router.delete('/users/:id', async (req, res) => { /* ... */ });
示例 2:React 组件
// 创建一个用户列表组件,支持搜索和分页
// 使用 TypeScript 和 React Hooks
interface User {
id: string;
name: string;
email: string;
}
// AI 会生成完整的组件代码
export function UserList() {
// useState, useEffect, 搜索逻辑, 分页逻辑...
}
技巧 10:学会"否定"和"纠正"
AI 生成的代码不一定完美,学会引导它:
示例:
// AI 第一次生成
function fetchData() {
return fetch('/api/data').then(res => res.json());
}
// 你:不要用 Promise 链,用 async/await
// AI 修正
async function fetchData() {
const res = await fetch('/api/data');
return res.json();
}
// 你:加上错误处理
// AI 再次修正
async function fetchData() {
try {
const res = await fetch('/api/data');
if (!res.ok) throw new Error('Request failed');
return res.json();
} catch (error) {
console.error('Failed to fetch data:', error);
throw error;
}
}
进阶技巧:自定义 Prompt 模板
在项目根目录创建 .github/copilot-instructions.md:
# 项目编码规范
- 使用 TypeScript strict 模式
- 所有函数必须有 JSDoc 注释
- 错误处理使用 Result<T, E> 类型
- 测试使用 Vitest
- 组件使用函数式风格,避免 class
## 示例
\`\`\`typescript
/**
* 获取用户信息
* @param userId - 用户 ID
* @returns Result<User, Error>
*/
export async function getUser(userId: string): Promise<Result<User, Error>> {
// ...
}
\`\`\`
AI 会自动遵循这些规范!
常见误区
❌ 误区 1:完全依赖 AI
AI 是助手,不是替代品。你需要:
- 理解生成的代码
- 审查潜在的 bug
- 确保符合项目规范
❌ 误区 2:不给上下文
AI 不是读心术,需要你提供:
- 清晰的注释
- 相关的代码文件
- 具体的需求描述
❌ 误区 3:一次性生成大段代码
分步骤生成,逐步验证,比一次性生成一大段代码更可靠。
工具推荐
1. GitHub Copilot
- 优势: 官方支持,集成度高
- 适合: 日常开发,代码补全
2. Cursor
- 优势: 更强的 Chat 模式,支持 @codebase
- 适合: 复杂重构,项目级别的修改
3. Claude Code (via API)
- 优势: 更长的上下文窗口(200K tokens)
- 适合: 大型项目,需要理解整个代码库
4. Codeium
- 优势: 免费,支持多种 IDE
- 适合: 个人开发者,预算有限
实战案例:用 AI 重构遗留代码
场景: 有一个 1000 行的 jQuery 代码,想迁移到 React
步骤:
-
理解现有逻辑
问 AI: "这段 jQuery 代码做了什么?" -
拆分功能模块
问 AI: "把这段代码拆分成独立的功能模块" -
逐个转换
问 AI: "把这个模块转换成 React 组件" -
测试验证
问 AI: "为这个组件生成测试用例"
总结
AI 编程工具的核心是 人机协作:
- 你负责: 需求分析、架构设计、代码审查
- AI 负责: 样板代码、重复劳动、语法细节
掌握这 10 个技巧,你的编程效率至少提升 3 倍!
参考资料:
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐

所有评论(0)