077、功能开发实战:从需求描述到可工作代码的端到端 AI 辅助流程
上周五下午,我盯着终端里那条“panic: runtime error: invalid memory address or nil pointer dereference”的报错,喝了第三杯咖啡。Claude Code 帮我生成了 80% 的代码,但那个 nil 指针偏偏出现在我最信任的“自动生成”部分——一个从数据库查询结果直接解引用的操作。这让我意识到,AI 辅助开发不是“把需求扔进去,代码吐出来”那么简单,中间那条从模糊需求到可工作代码的路径,每一步都可能踩坑。
需求描述:别让 AI 猜你的上下文
很多人上来就写“帮我写个用户注册接口”,Claude Code 会给你一个标准的 CRUD,但大概率不是你想要的。我现在的做法是:把需求描述当成给新同事的 briefing,而不是给搜索引擎的关键词。
比如真实场景:我需要一个“根据用户 ID 批量查询订单状态”的功能。我不会只说“批量查询”,而是这样描述:
项目使用 Go 1.21 + PostgreSQL 15,ORM 是 sqlx。订单表 orders 有字段:id, user_id, status, created_at。status 枚举值:pending, paid, shipped, cancelled。需要写一个函数 BatchGetOrderStatus(userIDs []int64) (map[int64]string, error),要求: 1. 用 IN