最近、私はレガシーvb.netコードに取り組んでおり、コードピアレビュー中に、Exit Sub / Functionを使用せず、代わりにIFステートメントにすべての機能をネストすることが推奨されました。
私が最初に開発を始めたとき、私は本能的にこの方法でそれを行っていました(Nest the IF)、それはより論理的に見えただけでなく、混乱が少ないように見えました。
ただし、ある時点で、ネストされたIFを「悪」として扱うチームと協力したため、Exit subs/functionsが優先されると言われました。これをバックアップするために、MSのベストプラクティス資料が作成されたと確信しています。
それで、この質問は経験豊富な開発者のためのものです、どちらの方法が本当に好ましいですか?あなたが答えを与えるならば、あなたはまたあなたの情報源を述べてください、あるいはこれがあなたのチーム/会社/個人によって好まれる好みであると単に述べて、理由を与えてください。
前もって感謝します。
要求に応じて編集:コードサンプル
サブを終了:
Private Sub DoSomeWork()
if not conditionMetFromAnotherFunction() then
exit Sub
end if
'Method work starts here
End Sub
ネストされたIF:
Private Sub DoSomeWork()
if conditionMetFromAnotherFunction() then
'Method work starts here
end if
End Sub