Coding Prompts
code generation prompts(overview)
这一节收集了 code generation 相关的 prompt。重点不是“让 AI 写完所有代码”,而是让 prompt 变成一种可重复的接口(清晰的 input + constraints + output format),从而提升可控性与复用性。
适用场景
- 快速生成样板代码或脚手架
- 把自然语言需求转成可执行代码
- 修复 bug、补边界条件或加日志
- 生成测试用例、对齐接口格式
核心结构(建议每次写清楚)
- 目标:要做什么功能
- 上下文:语言版本、框架、约束、已有代码
- 输入:数据结构、样例、边界
- 输出:格式、文件位置、函数签名
Prompt Lab
立即查看 →把这章的知识,直接变成实战能力
进入交互式实验室,用真实任务练 Prompt,10 分钟快速上手。
Prompt 模板(通用版)
你是资深工程师,请实现以下功能:
目标:
- {{WHAT_TO_BUILD}}
上下文:
- Language: {{LANG_VERSION}}
- Framework: {{FRAMEWORK}}
- Style: {{STYLE_OR_GUIDE}}
- Constraints: {{CONSTRAINTS}}
输入:
{{INPUT_SPEC}}
输出:
- 只输出代码
- 必须包含 {{FUNCTION_NAME}}
- 保持现有 API 不变
示例 1:生成函数
你是资深前端工程师,用 TypeScript 实现一个函数。
目标:
- 把用户列表按年龄分组
上下文:
- Language: TypeScript 5
- Constraints: 纯函数,不修改原数组
输入:
type User = { id: string; name: string; age: number }
const users: User[] = [...]
输出:
- 函数名 groupByAge
- 返回 Record<number, User[]>
- 只输出代码
示例 2:修复 bug
你是资深后端工程师,请修复下面的代码问题并解释原因。
问题:
- 当 amount 为 0 时会抛错
- 精度出现 0.30000000000004
上下文:
- Node.js 20
- 不能引入新依赖
代码:
function calcTotal(items) {
return items.reduce((sum, item) => sum + item.amount, 0);
}
输出:
- 修复后的代码
- 3 条以内说明
示例 3:生成测试用例
你是资深测试工程师,请为下面函数生成单元测试。
上下文:
- Testing: Jest
- 覆盖正常输入、空数组、异常输入
代码:
export function normalizeEmail(email: string) {
return email.trim().toLowerCase();
}
输出:
- Jest 测试代码
常见问题与修复方式
- 输出不稳定:加长度/格式约束,固定字段顺序
- 忽略边界:明确列出 edge cases,并要求覆盖
- 代码跑不通:提供更完整的上下文与依赖版本
- 风格不一致:指定 lint 规则或已有风格