-3

遗留代码(VB 脚本)中有大量嵌套的 if else 语句,我希望将其迁移到有意义的表示形式,以便在Java应用程序中进行维护。这些语句大部分用于根据用户选择参数生成sql语句。有什么建议可以更好地将这个逻辑分支问题建模为数据结构,即有向

例如,如果参数是:

年龄部门等级

String finalSQL = “”;
if(department is not ‘HR’){
   // append something to finalSQL
if (age between 21-35)
{
  // append something to finalSQL
}
else if (age between 35-40)
{
// append something to finalSQL
}else{
// append something to finalSQL
}
} else {

if(grade > g7){
// append something to finalSQL
}else if (grade is g2 or g4 or g6){
// append something to finalSQL
} else{
// append something to finalSQL
}

}

return finalSQL;
4

1 回答 1

-1

多个 if else 语句的一种替代方法,其中这些条件表示特定状态,那么如果它们是简单命令,我通常会选择状态设计模式命令模式

想想贩卖机的状态,比如空/非空/没有硬币,你有特定的行为

另一种可读方式是 switch-case 语句,但这主要是使其更具可读性

请参阅将许多“if else”语句转换为更清洁的方法

于 2015-04-25T09:03:34.900 回答