介绍 Wordz 应用程序

在本节中,我们将从高层次描述我们将要构建的应用程序,然后再介绍我们将用于构建它的敏捷流程。该应用程序名为 Wordz,它基于一款流行的猜词游戏。玩家尝试猜出一个五字母单词。得分基于玩家猜出单词的速度。玩家每次猜测后都会获得反馈,以引导他们找到正确答案。我们将在本书的剩余部分中使用各种 TDD 技术构建该应用程序的服务器端组件。

描述 Wordz 的规则

要玩 Wordz,玩家最多有六次机会猜一个五字母单词。每次尝试后,单词中的字母会按以下方式高亮显示:

  • 正确字母且位置正确:黑色背景

  • 正确字母但位置错误:灰色背景

  • 不在单词中的错误字母:白色背景

玩家可以利用这些反馈做出更好的下一次猜测。一旦玩家猜对了单词,他们将获得一些分数。第一次尝试猜对得 6 分,第二次得 5 分,依此类推,第六次(最后一次)猜对得 1 分。玩家在多轮比赛中相互竞争,以获得最高分。Wordz 不仅是一款有趣的游戏,也是一种轻松的脑力锻炼。

虽然构建用户界面不在本书的范围内,但看到一个可能的示例会非常有帮助:

image 2025 01 11 22 46 40 178
Figure 1. 图4.4 – Wordz游戏

从技术上讲,我们将为这个游戏创建后端 Web 服务组件。它将暴露一个 应用程序编程接口(API),以便用户界面可以使用该服务,并在数据库中跟踪游戏状态。

为了专注于 TDD 技术,我们将忽略某些内容,例如用户身份验证和用户界面。当然,生产版本会包含这些方面。但为了实现这些功能,我们不需要任何新的 TDD 技术。

这个简单的设计将使我们能够通过典型 Web 应用程序的所有层次全面探索 TDD。现在我们已经定义了要构建的内容,下一节将介绍我们将用于构建它的开发方法。