我有一个看起来像这样的方法:
private void method(final Param one, final Param two) {
Code Block
CallToAnotherMethod()
}
从2个地方调用此方法。在其中一个地方,我想按原样调用整个方法。第二,我想只执行Code Block
而不是CallToAnotherMethod()
。
我该如何重构这个?使用99%的相同代码实现2个方法似乎并不优雅。
提前感谢您的建议。
答案 0 :(得分:1)
对实际代码没有任何了解,很难正确判断它。与任何一般性问题一样,我们只能提供一般性答案。
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(...)
。
答案 1 :(得分:-1)
你有
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
}