私のコードや他の人には、これが頻繁に見られるようです。それについてひどく間違っているように見えることについては何もありませんが、それはより良くできるように見えるので私を困らせます。Caseステートメントはもう少し理にかなっていると思いますが、多くの場合、変数はCaseステートメントではうまく機能しないか、まったく機能しないタイプです(言語によって異なります)。
If variable == A
if (Flag == true)
doFooA()
else
doFooA2
else if variable == B
if (Flag == true)
doFooB()
else
doFooB2
else if variable == C
if (Flag == true)
doFooC()
else
doFooC2
これを「因数分解」する方法は複数あるようです。たとえば、if-elsesの2つのセットで、1つのセットがFlag == trueのときに処理します。
これを因数分解する「良い方法」はありますか、またはこのif-elseアルゴリズムが発生した場合、通常は何か間違っていることを意味していますか?
if (Flag == true)
ただ書くのではなく書くのIf (Flag)
ですか?それIf (Flag == true)
が良いと思うなら、どうif ((Flag == true) == true)
ですか?