您如何命名GoTo标签?我经常使用很少,所以我很难找到好名字。
请不要使用经典的“goto is evil and eat your code alive discussion”
答案 0 :(得分:5)
我的标签名称几乎总是属于以下模式之一:
答案 1 :(得分:3)
在批处理文件中,我经常使用HELL。
像:
some_command || GOTO HELL
...
HELL:
echo "Ouch, Hot!"
答案 2 :(得分:2)
答案 3 :(得分:1)
在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的唯一理由。
答案 4 :(得分:0)
我通常只需要2个案例。 因此,我的转到标签是开始或最后。