
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人
1.2 我们要解决的是什么问题
我们要解决的是钱的问题。当然,这并不是许多人都在说的那个意思——我们平常说自己的资金有问题通常是指钱不够花,然而目前要谈的这个问题更像是在说:我们想记录自己的资金状况。
例如,我们必须做一张如下所示的电子表格来管理各种货币的资金,以实现追踪股票投资情况等需求。

为了填写电子表格,我们必须能在同一种货币下对数字做简单的算术运算,例如:

另外,我们还要能在不同的货币之间换算。例如,如果1 EUR(欧元)相当于1.2 USD(美元),1 USD相当于1100 KRW(韩元),那么就有:

刚才提到的每一行算式其实都是一个(小小的)功能,我们会通过TDD来实现这些功能。由此看来,现在已经有许多个功能需要实现了。为了让大家一次只关注一个功能,我们把目前正在做的这个功能标成粗体。实现完该功能之后,我们就把它划掉。
现在应该先做什么呢?其实本书的书名已经给出了答案。既然是测试驱动开发,那当然应该先写测试才对。