如何利用 AI 实现 TDD 绿灯阶段的最小化代码开发
解决过度工程问题:通过引导 AI 仅实现让当前失败测试通过的“最小可行代码”,避免在 TDD 绿灯阶段过度设计,将优化留给随后的重构阶段。
为什么需要这个技能
在测试驱动开发(TDD)的“红-绿-重构”循环中,很多开发者(以及 AI)容易在绿灯阶段直接写出最终形态的复杂代码。这种做法违背了 TDD 的核心理念,增加了调试难度,且容易引入不必要的需求。
本技能的核心在于“极简主义”。它要求 AI 暂时忽略性能优化、架构优雅或未来的扩展性,仅专注于通过当前的测试用例。通过这种方式,你可以快速验证功能逻辑,确保每一步改动都有测试支撑,从而在随后的重构阶段更有信心进行架构升级。
适用场景
- 从红灯转绿灯:当你已经写好失败的测试用例,需要实现功能使其通过时。
- 实现最小行为:当你希望快速验证某个逻辑点是否可行,而不想在细节上纠结时。
- 快速迭代原型:在需求不完全明确时,先用最简单的代码跑通基础流程。
核心工作流
- 分析失败测试:仔细审查测试报错,识别导致失败的最关键缺失点。
- 实施最小化变更:编写能让该测试通过的最简单代码(哪怕是硬编码返回一个固定值)。
- 立即验证:每完成一个小改动后立即运行测试,确认进度。
- 记录技术债:将为了快速通过而采取的临时方案(如简化逻辑、缺少异常处理)记录下来,作为后续重构阶段的清单。
代码演进示例
从简单的函数实现,到类视图,最后演进为通用视图:
# Green Phase: 仅实现最简单的功能函数
def product_list(request):
products = Product.objects.all()
return JsonResponse({'products': list(products.values())})
# Refactor: 重构为类视图以增强结构
class ProductListView(View):
def get(self, request):
products = Product.objects.all()
return JsonResponse({'products': list(products.values())})
# Refactor: 进一步重构为通用视图(Generic View)
class ProductListView(ListView):
model = Product
context_object_name = 'products'
下载和安装
下载 tdd-workflows-tdd-green 中文版 Skill ZIP
解压后将目录放入你的 AI 工具 skills 文件夹,重启工具后即可使用。具体路径参考内附的 USAGE.zh.md。
你可能还需要
暂无推荐