これは抽象的な質問であり、実際のコードはありません(そしておそらく最善の疑似コードもありません)ので、うまくいけば、モデレートされて死に至らないほど意味があります。しかし、それは、私がやっているプロジェクトが以前の条件、プロセスに依存する非常に直線的なものであることから、何度も私に何度も出てきた質問です。だから...逐次的なロジックと可読性
それぞれが先行するものに依存する一連の論理タスクが与えられているので、私はコードを構造化する2つの方法を試みました。 一つは、この
Proceed = True
If Task1 Not Successful Then
Proceed = False
End If
If Proceed Then
If Task2 Not Successful Then
Proceed = False
End If
End If
などのような
、proceed
変数に依存します。しかし、私は、この実行は、変数のアプローチは理想的ではないことを進ん効果に場所のコメントの数で読みました。だから、代わりに私は持っていることができます
If Task1 Succcesful Then
If Task2 Successful
Then Etc
Else
Error Condition
End If
Else
Error Condition
End If
私の目には、前者はもっと読みやすく、論理は非常に明らかです。そして、シーケンス内のタスクの数が大きくなると(3つ以上の場合)、ネストされたIfは実際に扱いにくくなります。 私の質問は、この最初のアプローチを使用しない理由は何ですか? 2番目の例では、可読性を向上させるためにロジックを構成する方が良い方法はありますか? あるいは、前者の問題(それが何であれ)と後者の読みやすさの問題の両方に対処する3つ目の方法はありますか? または、実際に連続して依存するタスクのシーケンスを実際に持っている場合、最初のアプローチは実際には問題ありませんか?