新的需求:CPrime类要能够处理负数的情况。
约定,如果一个数的绝对值是质数则这个数就是质数。
传入CreatePool的max是质数的绝对值范围,也就是找出所有大于等于-|max|并小于等于|max|的所有质数。例如,CreatePool(-5)则会把-5、-3、-2、2、3、5都放到Pool里面去。
传入GetPrime的index如果大于等于0,则是从最小的质数开始按从小到大的顺序获得质数,0代表最小的质数,如果小于0,则意味着从最大的质数开始按从大到小的顺序获得质数,-1代表最大的质数。例如,CreatePool(-5)之后再GetPrime(2),拿到的是-3,GetPrime(-3),拿到的是3。
不要问我为什么会有这种需求,反正就是要做了。嗯,其实问题也不大,大家其实一看就很明白,毕竟我们通过刚才的练习已经很明确如何做功能上的重构,只不过这次我们需要把已有的测试用例先一个一个按照新的需求进行改变(比较繁琐,需要勇气来做这件事情)。嗯,一次全改完还是分批改呢?我觉得可以根据测试用例的类型来分批改变,这样我们依然可以一小步一小步的可靠的开发。
虽然通过这些练习并没有了解多少重构的理论,但是我们已经有信心在未来的开发中运用重构的方法来清扫以前留下的麻烦。
--------------------------------------------------------------------------------
文章来源于领测软件测试网 https://www.ltesting.net/