您如何命名您的 GoTo 标签?我很少经常使用,所以我很难找到好名字。
请避免经典的“goto is evil and eat your code alive Discussion”
您如何命名您的 GoTo 标签?我很少经常使用,所以我很难找到好名字。
请避免经典的“goto is evil and eat your code alive Discussion”
在批处理文件中,我经常使用 HELL。
像:
some_command || GOTO HELL
...
HELL:
echo "Ouch, Hot!"
我的标签名称几乎总是属于以下模式之一:
在 fortran 中,我使用 goto 进行回滚,我通常从 999 向后开始(在 fortran 中,goto 标签只是数字)
call foo(err)
if (err /= 0) goto 999
call bar(err)
if (err /= 0) goto 998
call baz(err)
if (err /= 0) goto 997
! everything fine
error = 0
return
997 call undo_bar()
998 call undo_foo()
999 error = 1
return
如果出于某种原因我想跳过回滚部分,我也会使用大于 1000 的标签。
在 C 和其他语言中,我会使用 rollbacknumber(例如 rollback1、rollback2),因此从标签中可以清楚地看出您将要回滚。这基本上是使用 goto 的唯一充分理由。
我通常只需要2个案例。因此,我的 goto 标签是begin或finally。