是通过5乘以2得来的。
所以代码中的5*2和测试中的5*2是重复的。 我们需要移除这个重复,但是可能需要不止一步来实现。
先把乘法移动到Times方法里试试:
这样的话,测试仍然会pass:
这是一小步。
那么5是哪里来的?
应该是从构造函数传递进来的,我们可以把它存到Amount属性里:
所以我们可以在Times方法里使用它:
现在处理这个2,它应该可以使用参数multiplier代替:
OK!
此外,我们可以对代码的语法进行一些优化:
其实某些优化也应该通过TDD的RGR周期来实现。
第一篇文章就简单介绍这些。