新的需求: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。
不要問我為什么會有這種需求,反正就是要做了。嗯,其實問題也不大,大家其實一看就很明白,畢竟我們通過剛才的練習已經很明確如何做功能上的重構,只不過這次我們需要把已有的測試用例先一個一個按照新的需求進行改變(比較繁瑣,需要勇氣來做這件事情)。嗯,一次全改完還是分批改呢?我覺得可以根據測試用例的類型來分批改變,這樣我們依然可以一小步一小步的可靠的開發。
雖然通過這些練習并沒有了解多少重構的理論,但是我們已經有信心在未來的開發中運用重構的方法來清掃以前留下的麻煩。
--------------------------------------------------------------------------------
文章來源于領測軟件測試網 http://www.kjueaiud.com/