最近我一直在处理遗留的 vb.net 代码,在代码同行评审期间,建议不要使用 Exit Sub / Function,而是将所有功能嵌套在 IF 语句中。
当我最初开始开发时,我本能地这样做(嵌套 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