GoTo标签的命名约定

时间:2009-03-28 19:17:53

标签: coding-style naming-conventions label goto

您如何命名GoTo标签?我经常使用很少,所以我很难找到好名字。

请不要使用经典的“goto is evil and eat your code alive discussion”

5 个答案:

答案 0 :(得分:5)

我的标签名称几乎总是属于以下模式之一:

  • 称为“重启”,用于重新启动一组嵌套循环,因为更改已使某些内容无效
  • 在return语句之前调用“exit”或“return”,并且仅在那里因为trace语句记录调试的返回值
  • 与其替换的布尔变量具有相同的名称

答案 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个案例。 因此,我的转到标签是开始最后