我最近開始學習測試驅動的開發,但我總是看到自己改變我的課程的設計,以便更高級別的課程可以訪問更多的屬性。 (更改設計後,我的測試用例也必須重寫)面向對象的設計
例如,我通過編寫MineSweeper程序來練習此操作。 MineFieldImp類具有寬度和高度屬性,但我沒有在我之前創建的MineField接口中公開這個。但後來我發現我需要這個功能,因此添加這些屬性需要我爲這個類以及它實現的接口添加公共方法。
我經常看到自己給以前沒有想到的類添加方法或字段。 我在做什麼錯?我應該怎麼做才能改進?
感謝, 楊
你做得對。與其他許多其他開發人員一樣,我在設計紙質或建模工具方面有很多年了,在開始編寫代碼之前,有時候我還添加了我沒有計劃的方法和屬性;-) – umlcat