如何利用 AI 实现 TDD 绿灯阶段的最小化代码开发

解决过度工程问题:通过引导 AI 仅实现让当前失败测试通过的“最小可行代码”,避免在 TDD 绿灯阶段过度设计,将优化留给随后的重构阶段。

为什么需要这个技能

在测试驱动开发(TDD)的“红-绿-重构”循环中,很多开发者(以及 AI)容易在绿灯阶段直接写出最终形态的复杂代码。这种做法违背了 TDD 的核心理念,增加了调试难度,且容易引入不必要的需求。

本技能的核心在于“极简主义”。它要求 AI 暂时忽略性能优化、架构优雅或未来的扩展性,仅专注于通过当前的测试用例。通过这种方式,你可以快速验证功能逻辑,确保每一步改动都有测试支撑,从而在随后的重构阶段更有信心进行架构升级。

适用场景

  • 从红灯转绿灯:当你已经写好失败的测试用例,需要实现功能使其通过时。
  • 实现最小行为:当你希望快速验证某个逻辑点是否可行,而不想在细节上纠结时。
  • 快速迭代原型:在需求不完全明确时,先用最简单的代码跑通基础流程。

核心工作流

  1. 分析失败测试:仔细审查测试报错,识别导致失败的最关键缺失点。
  2. 实施最小化变更:编写能让该测试通过的最简单代码(哪怕是硬编码返回一个固定值)。
  3. 立即验证:每完成一个小改动后立即运行测试,确认进度。
  4. 记录技术债:将为了快速通过而采取的临时方案(如简化逻辑、缺少异常处理)记录下来,作为后续重构阶段的清单。

代码演进示例

从简单的函数实现,到类视图,最后演进为通用视图:

# 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

你可能还需要

暂无推荐