![测试驱动开发:入门、实战与进阶](https://wfqqreader-1252317822.image.myqcloud.com/cover/702/48593702/b_48593702.jpg)
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人
1.2 我们要解决的是什么问题
我们要解决的是钱的问题。当然,这并不是许多人都在说的那个意思——我们平常说自己的资金有问题通常是指钱不够花,然而目前要谈的这个问题更像是在说:我们想记录自己的资金状况。
例如,我们必须做一张如下所示的电子表格来管理各种货币的资金,以实现追踪股票投资情况等需求。
![](https://epubservercos.yuewen.com/2F0B0F/28235549002740206/epubprivate/OEBPS/Images/44_01.jpg?sign=1738820609-dCqkXr5LBysSl1UTnXbxmnUCemlTfpbz-0-4beaacc02dc5f533b0205fe9bfa3eab7)
为了填写电子表格,我们必须能在同一种货币下对数字做简单的算术运算,例如:
![](https://epubservercos.yuewen.com/2F0B0F/28235549002740206/epubprivate/OEBPS/Images/44_02.jpg?sign=1738820609-fXBclOLSVgTiLqOjpqCNmXwEpRSjp0QB-0-e2b1d6857b96ff8803ac6e903a799e0b)
另外,我们还要能在不同的货币之间换算。例如,如果1 EUR(欧元)相当于1.2 USD(美元),1 USD相当于1100 KRW(韩元),那么就有:
![](https://epubservercos.yuewen.com/2F0B0F/28235549002740206/epubprivate/OEBPS/Images/44_03.jpg?sign=1738820609-xl8z1LYxjo0gFD7HSHC1uFKshKkSmUR3-0-1961c393fff37e4641c934c4c04fd210)
刚才提到的每一行算式其实都是一个(小小的)功能,我们会通过TDD来实现这些功能。由此看来,现在已经有许多个功能需要实现了。为了让大家一次只关注一个功能,我们把目前正在做的这个功能标成粗体。实现完该功能之后,我们就把它划掉。
现在应该先做什么呢?其实本书的书名已经给出了答案。既然是测试驱动开发,那当然应该先写测试才对。