添加参数
-
问题
方法没有足够的数据来执行某些操作。
-
解决方法
创建一个新参数来传递必要的数据。
为什么重构?
您需要对方法进行更改,而这些更改需要添加该方法以前无法使用的信息或数据。
这里的选择是添加新参数和添加包含该方法所需数据的新私有字段。当您需要一些偶尔或经常更改的数据且没有必要始终将其保存在对象中时,参数是更好的选择。在这种情况下,重构将会得到回报。否则,请在调用该方法之前添加一个私有字段并用必要的数据填充它。
-
添加新参数总是比删除它更容易,这就是参数列表经常膨胀到怪异大小的原因。这种特征被称为长参数列表。
-
如果您需要添加新参数,有时这意味着您的类不包含必要的数据或现有参数不包含必要的相关数据。在这两种情况下,最好的解决方案是考虑将数据移动到主类或已可以从方法内部访问其对象的其他类。
如何重构?
- 查看该方法是在超类还是子类中定义。如果该方法存在于其中,您还需要重复这些类中的所有步骤。
- 以下步骤对于在重构过程中保持程序正常运行至关重要。通过复制旧方法并添加必要的参数来创建一个新方法。将旧方法的代码替换为对新方法的调用。您可以将任何值插入新参数(例如对象的 null 或数字的零)。
- 找到对旧方法的所有引用,并将它们替换为对新方法的引用。
- 删除旧方法。如果旧方法是公共接口的一部分,则无法删除。如果是这种情况,请将旧方法标记为已弃用。