我最近开始学习测试驱动的开发,但我总是看到自己改变我的课程的设计,以便更高级别的课程可以访问更多的属性。 (更改设计后,我的测试用例也必须重写)面向对象的设计
例如,我通过编写MineSweeper程序来练习此操作。 MineFieldImp类具有宽度和高度属性,但我没有在我之前创建的MineField接口中公开这个。但后来我发现我需要这个功能,因此添加这些属性需要我为这个类以及它实现的接口添加公共方法。
我经常看到自己给以前没有想到的类添加方法或字段。 我在做什么错?我应该怎么做才能改进?
感谢, 杨
你做得对。与其他许多其他开发人员一样,我在设计纸质或建模工具方面有很多年了,在开始编写代码之前,有时候我还添加了我没有计划的方法和属性;-) – umlcat