有什么建议的方法来重构类的内部表示?

时间:2015-01-25 15:11:52

标签: unit-testing refactoring

假设我有一个类将一些数据存储在私有变量' data'中,例如数组。这个类有不同的方法使用数据变量和测试这些方法的不同单元测试。现在由于某种原因你想要改变数据的容器类型(例如地图而不是数组),这需要以稍微不同的方式处理。如果只是简单地将数据类型从数组更改为map,那么方法中的所有代码都会被破坏,并且必须在所有单元测试再次运行之前更改它们。这通常不是人们想要的。那么,在不破坏所有代码的情况下迭代地执行此操作的建议方法是什么?

1 个答案:

答案 0 :(得分:0)

单元测试通常测试类的外部功能。

因此,“内部”类的重构不应该破坏任何测试。 (这是测试的好处之一。)。

许多IDE允许您在一次点击中对内部进行自动重构。但是您没有指定您正在使用的语言或IDE。

如果您的类太大以至于对数据类型的更改会产生“小时”的工作,那么您应该考虑在重构数据类型之前将您的类分解为更小的功能。

或者,您可以手动重构并尝试保持类稳定并暂时“注释掉”数组定义以帮助告诉您需要关注的位置。

相关问题