-3

レガシ コード ( VB Script ) にはネストされた 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 ステートメントの 1 つの選択肢として、単純なコマンドの場合は通常、状態設計パターンまたはコマンド パターンを使用します。

空/空でない/コインがないなどの機械の状態に応じて、特定の動作がある自動販売機の言及を考えてみてください

別の読みやすい方法は switch-case ステートメントですが、主に読みやすくなります

これを参照してください多くの「if else」ステートメントをよりクリーンなアプローチに変換する

于 2015-04-25T09:03:34.900 に答える