【发布时间】:2020-01-02 01:55:29
【问题描述】:
我正在尝试重构一些类似于下面代码的代码。我觉得应该有一种更简单的方法来完成它的工作。我主要关心的是在 (!dataA.isEmpty()) 条件的 if 和 else 块中调用 getDataB()。
DataA dataA = getDataA();
if (!dataA.isEmpty()) {
if (dataA.getStatus() == Status.FINAL) {
// process finalized dataA
}
if (dataA.getStatus() == Status.RECEIVED) {
DataB dataB = getDataB();
if (!dataB.isEmpty()) {
dataA.setStatus(dataB.getStatus());
// process dataA with updated status from dataB
}
}
if (dataA.getStatus() == STATUS.IN_PROGRESS) {
// process in progress dataA
}
// empty dataA
} else {
Datab dataB = getDataB();
if (!dataB.isEmpty()) {
// process dataB
}
}
【问题讨论】:
-
作为旁注,在你的
if语句中Status或STATUS应该有一个一致的大小写。
标签: java if-statement nested refactoring