Jump to content

Goto. Por que é considerado ruim?


fredericopissarra

Recommended Posts

Apenas uma nota histórica:

Em 1968 Dijkstra (um famoso professor universitário) publicou um artigo dizendo que 'goto' é ruim. De lá para cá os cursos universitários adotaram essa opinião como mantra e, de repente, goto tornou-se ruim...

Ok, abusar do uso de goto pode mesmo tornar seu código ilegível, mas não há nada errado em usá-lo de forma razoável. Por exemplo:

again:
  if ( connect( fd, (struct sockaddr *)&sin, sizeof sin ) )
    goto again;
  ...

Claro, isso poderia ser escrito em apenas uma linha:

while ( connect( fd, (struct sockaddr *)&sin, sizeof sin ) );

Mas, note como no primeiro caso fica mais legível...

Link to comment
Share on other sites

  • Administrators

Sempre penso que, se foi criado o comando na linguagem, deve haver algum motivo e não consigo aceitar um simplesmente "não use", a não ser que seja algo de fato que os desenvolvedores recomendem parar de usar porque será removido nas próximas versões da especificação e tal. Não é o caso do "goto". Ele continua lá e os compiladores todos suportam, logo, que seja usado hehe. Boas práticas de programação vão sempre existir, no entanto. =)

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...