Java - 重构几乎相同的方法

标签 java design-patterns refactoring

我有一个看起来像这样的方法:

private void method(final Param one, final Param two) {
    Code Block
    CallToAnotherMethod() 
}

此方法从两个地方调用。在其中一个地方,我想按原样调用整个方法。其次,我只想执行代码块,而不执行CallToAnotherMethod()

我应该如何重构这个?用 99% 相同的代码实现 2 个方法看起来并不优雅。

预先感谢您的建议。

最佳答案

如果不了解实际代码,很难正确判断。与任何一般性问题一样,我们只能提供一般性答案。

private void method(final Param one, final Param two) {
    methodForCodeBlock(one, two);
    callToAnotherMethod() 
}

private void methodForCodeBlock(final Param one, final Param two) {
    // code block here
}

private void callToAnotherMethod() {
    ...
}

要仅执行代码块,请调用methodForCodeBlock(...)。要执行所有操作,请调用 method(...)

关于Java - 重构几乎相同的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47442758/

相关文章:

typescript - 如何重构/抽象 ngrx 操作以减少出现拼写错误的可能性?

java - 将枚举方法链接到客户端类的成员变量

java - Mockito 验证字符串集合

java - if 语句中可以有两个条件吗

java - 简单java代码中的FileNotfound异常

c# - 要求基类的子级从基类调用方法的设计模式

java - 为什么 toBinaryString 不是 Integer 类中的实例方法?

java - Arrays.sort() 的 int 降序排列

Java Swing 设计指南

c# - 重构ifs