這是一個抽象的問題,沒有真正的代碼(也可能不是最好的僞代碼),所以希望它足夠有意義,不會被主持人死亡。但是這個問題一直在我面前反覆提出,因爲我正在開展的項目是非常線性的,取決於以前的條件和流程。所以...順序邏輯和可讀性
給定了一系列邏輯任務,每個邏輯任務都依賴於前一個,我嘗試了兩種方法來構造代碼。 一個取決於proceed
變量,這樣
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
等
但我已經在許多地方意見的效果看,這種運行繼續變量的方法是不理想的。所以,或者我可以有
If Task1 Succcesful Then
If Task2 Successful
Then Etc
Else
Error Condition
End If
Else
Error Condition
End If
在我看來,前者更可讀,邏輯非常明顯。而且,當順序中的任務數量變大(超過3個或者真的)時,嵌套的Ifs真的變得笨拙。 所以,我的問題是,不使用這種第一種方法的原因是什麼? 有沒有更好的方法來構建第二個例子中的邏輯來提高可讀性? 還是有第三種方式解決前者的問題(不管他們是什麼)以及後者的可讀性問題? 還是第一種方法實際上很好,當一個確實有順序依賴任務序列?