我有 34 种不同的方法,它们采用 ViewModel 类的 1 个参数,但它们中的每一个只使用类上的两个或三个属性。我想我宁愿将这些属性传递给这些方法,而不是整个对象。这是一种轻松重构的方法吗?我试图只选择我的函数中的所有文本并执行 Refactor > Extract Method 希望它足够聪明,可以看到只使用了对象的 2 个属性并将参数列表设为这 2 个属性,但它只是想再次获取整个对象。
也许我需要解释我在做什么......
我正在尝试编写一个将为 wiki 页面生成文本的应用程序。根据输入到 UI 中的值,它会生成模板的文本和使用该模板的文本,或者如果不需要模板,它只会为页面生成文本。它有 17 个不同的部分,因此有 17 个函数在组合时会创建模板页面的文本,如果不需要模板,则有 17 个函数可以组合成实际页面。我这样做是为了一次测试较小的部分,而不是测试一个大型函数的整个输出。
所以目前所有 34 种方法都采用 1 个参数,即从 UI 构建的整个对象。对我来说这已经没有意义了。生成整个页面的 1 部分的函数永远不需要知道在不同部分中使用的数据,如果有人确实尝试在那里使用它,那么我知道出了点问题。