[英]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.