
043、功能开发实战:需求到可工作代码的端到端流程上周五下午,我盯着终端里Claude Code吐出的第17版代码,差点把咖啡泼到键盘上。需求很简单:一个微服务网关的限流模块,要求支持动态配置、多维度限流、以及优雅降级。但Claude Code连续输出了三版“看起来对但跑起来崩”的实现——第一版把Redis连接池写成了单例模式,第二版限流算法用了漏桶但忘记处理突发流量,第三版倒是功能完整,但单元测试覆盖率只有12%。这不是Claude Code的问题,是我自己的问题。我把它当成了“写代码的实习生”,而不是“需要我引导的架构师”。从那之后,我重新梳理了从需求到可工作代码的端到端流程,今天这篇笔记就是那次重构后的实战记录。第一步:把需求翻译成“Claude能理解的边界”别上来就甩给Claude一段产品需求文档。我见过太多人这么干,结果Claude输出了一堆“看起来合理但实际不可用”的代码。原因很简单:自然语言需求里充满了隐含假设和上下文依赖。我的做法是写一个需求边界文档,格式固定:功能名称:动态限流中间件 输入:HTTP请求 + 限流规则(从配置中心拉取) 输出:放行/拒绝 + 限流指标上报 约束:延迟5ms(P99),支持每秒10万QPS 异常场景:配置中心宕机时使用本地缓存规则 非功能:可观测性(Prometheus指标)、可配置(热更新)这个文档不是给PM看的,是给Claude Code的“上下文锚点”。我把它放在项目根目录的