use*_*679 0 java methods refactoring
我有一种情况,我声明一个方法说
public String getData(WebDriver driver, int iRowNumber)
Run Code Online (Sandbox Code Playgroud)
我从许多其他测试用例方法中调用此方法。现在我觉得有必要更改参数的数量并包含第三个参数。显然,前面的所有测试用例方法都会抛出错误。我该如何处理这种情况?我不想创建另一个具有相同名称和不同数量参数(多态性)的方法,因为我也必须在之前的测试方法中使用修改后的方法。
有什么办法可以解决这个问题吗?
最好的解决方案是创建一个具有三个参数的新方法:
public String getData(WebDriver driver, int iRowNumber, Object third)
Run Code Online (Sandbox Code Playgroud)
这个方法应该有一个新的逻辑。旧方法应该使用默认参数调用新方法:
public String getData(WebDriver driver, int iRowNumber) {
getData(driver, iRowNumber, DEFAULT_VALUE);
}
Run Code Online (Sandbox Code Playgroud)