更改方法签名的良好做法

时间:2017-06-19 19:38:37

标签: java methods refactoring

我有一种情况,我声明一个方法说

public String getData(WebDriver driver, int iRowNumber)

我从许多其他测试用例方法中调用此方法。现在我觉得有必要改变参数的数量并包含第三个参数。它显然会在以前的所有测试用例方法中抛出错误。我该如何处理这种情况?我不想创建另一个具有相同名称和不同数量的参数(多态)的方法,因为我必须在之前的测试方法中使用修改后的方法。

有没有办法可以解决这个问题?

1 个答案:

答案 0 :(得分:4)

最好的解决方案是使用三个参数创建一个新方法:

public String getData(WebDriver driver, int iRowNumber, Object third)

这个方法应该有一个新的逻辑。旧方法应使用默认arg:

调用新方法
public String getData(WebDriver driver, int iRowNumber) {
    getData(driver, iRowNumber, DEFAULT_VALUE);
}