Technology Radar
Published : Apr 26, 2023
NOT ON THE CURRENT EDITION
This blip is not on the current edition of the Radar. If it was on one of the last few editions, it is likely that it is still relevant. If the blip is older, it might no longer be relevant and our assessment might be different today. Unfortunately, we simply don't have the bandwidth to continuously review blips from previous editions of the Radar.
Understand more
Apr 2023
Assess
和软件行业的许多人一样,我们一直在探索快速演进的 AI 工具,以帮助我们编写代码。我们看到很多人通过将实现代码输入 ChatGPT,然后请求其生成测试代码。但作为 TDD(测试驱动开发)的坚定支持者,我们并不想经常将可能包含敏感信息的实现代码输入到外部模型中,因此我们尝试了基于 AI 辅助的测试驱动开发的技术。在这种方法中,我们让 ChatGPT 为我们生成测试代码,然后由开发人员来实现功能。具体而言,我们首先在一个可在多个用例中重复使用的提示“片段”中描述我们使用的技术栈和设计模式。然后,我们描述我们想要实现的具体功能,包括验收标准。基于这些信息,我们要求 ChatGPT 生成在我们的架构风格和技术栈中实现这一功能的实现计划。一旦我们对这个实现计划进行了合理性检查,我们就要求它为我们的验收标准生成测试代码。
这种方法对我们来说效果出奇的好:它要求团队提供对其架构风格的简明描述,帮助初级开发人员和新团队成员编写符合团队现有风格的功能特性。这种方法的主要缺点是,尽管我们没有向模型提供源代码,但我们仍然向其输入了可能包含敏感信息的技术栈和功能描述。至少在这些AI工具的“商业版”面世之前,团队应确保与法律顾问合作,以避免任何知识产权问题。