为什么不建议经常使用goto?

时间:2010-06-06 07:01:54

标签: php

  

可能重复:
  GOTO still considered harmful?

我读过有关避免经常使用goto运算符的建议,但从未告诉过为什么。我一直用谷歌搜索,无法找到任何东西。

3 个答案:

答案 0 :(得分:2)

GOTO经常在产生“意大利面条”代码的情况下经常使用。换句话说,遵循代码的逻辑要求您经常以非结构化或不明显的方式从一点到另一点频繁地移动。这导致代码难以理解。

但是在过去(早期的BASIC)中,GOTO通常是进行迭代的唯一方法,因此并不总是有选择。更具表现力的语言提供了进行迭代的其他方式(fordo ... untilwhile等等,其中循环更加明显。

话说回来,GOTO过度使用被认为是有害的。它在许多情况下仍然占有一席之地,例如错误处理或有限状态机,只要它不会使代码太难以遵循。

答案 1 :(得分:1)

搜索“转到被认为有害”,这是一篇由Egster Dijkstra撰写的论文(由Niklaus Wirth出版,并给出了它的标题),讨论了为什么。

这篇论文现在是计算文化的一部分,是历史的一部分,是对计算机历史感兴趣的人必读的(任何优秀的程序员都应该对这样的话题感兴趣)

答案 2 :(得分:0)

http://www.cs.utexas.edu/users/EWD/ewd02xx/EWD215.PDF

但当然你最好是理性的,不要完全排除goto。它有许多完全合理的用途。