У нас есть приложение A в качестве основного приложения.Теперь мы создаем из него приложение B, которое использует подмножество функций приложения A.
Приложение A остается таким же, как оно, тогда как приложение B использует только подмножество A
Так что я хочу реорганизовать функциюбез или с минимальным повторением, насколько это возможно, и с максимальной читабельностью.
Итак, функция выглядит так (на самом деле она длиннее, это отрывок):
class SomeClass {
Data prepareData() {
if (this.bothId==1 || this.appAid=2 /*or only relevant for appA*/) {
if(this.data==null) { /*appA*/
appAdoSmth(); /*appA*/
}
boolean merge=false; /*appA*/
if (this.data==null) { /*appA*/
merge=appAanalyze(data); /*appA*/
}
bothPrepare(merge);
} else if (bothIsRelevant()) {
if(appArelevant()) { /*appA*/
data=appAprepare(); /*appA*/
} else {
data=prepareBoth();
}
bothUpdateSomeValue();
}
}
Как бы вы это сделали?