Jump to content
Sign in to follow this  
fredericopissarra

Goto. Por que é considerado ruim?

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...

  • Curtir 2

Share this post


Link to post
Share on other sites

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. =)

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...