繁体   English   中英

Java-重构几乎相同的方法

[英]Java - Refactor almost identical methods

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

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

从2个地方调用此方法。 在其中一个地方,我想按原样调用整个方法。 其次,我只想执行Code Block而不要执行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(...)

这边有

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


private void method2(final Param one, final Param two) {
    CallToAnotherMethod() 
}

private void codeBlockMethod() {
    Code Block
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM