deathseeker25 Posted September 14, 2005 at 09:56 PM Report #5097 Posted September 14, 2005 at 09:56 PM Boas, Estava aqui a pensar como resolver alguns problemas do meu Codificador em Linguagem Matemática e lembrei-me de recorrer á instrução goto, de forma a poder resolvê-los. Ora, abri o livro "Linguagem C" de Luís Damas na página 474 para recordar toda a sintaxe da instrução goto, quando me deparo com uma série de observações um pouco estranhas do autor. Até vou fazer um quote do texto que me espantou um pouco: goto Esta instrução deveria ser a ultima a ser apresentada neste livro e deveria vir escrita com aquelas letrinhas muito pequeninas que normalmente aparecem nos contractos. A razão é esta. O goto só deve ser utilizado em situações de erro grave, em que é necessário fazer um salto incondicional para um label que terá que estar colocado algures no programa. Infelizmente, muitos programadores começaram por programar em linguagens, como o BASIC ou o COBOL, em que o goto é utilizado macissamente. A instrução goto e o seu label terão que estar colocados dentro da mesma função, podendo não estar no mesmo bloco. Se vocês, habitualmente, programa com a instrução goto ou se no final da leitura deste livro ainda sente vontade de programar com o goto, então não diga a ninguem que o leu !!! E já agora risque a palavra programador do seu cartão de apresentação. Ora, eu cortei ali o exemplo que o autor dava da utilização do goto visto que não interessa para o assunto. Agora pergunto: porque é que a utilização o goto só devia se rutilizada em casa extremo? É que utilizar um comando como o goto é algo que pode ajudar e muito o programador a resolver certos problemas. Claro que não seria utilizada macissamente. Uma ou duas vezes, talvez até por falta de imaginação do programador por vários factores, penso que o goto deve ser utilizado. Se discordam da minha opinião, expliquem-me então o porque da não utilização do goto. Cumps
neon_prannock Posted September 14, 2005 at 10:32 PM Report #5110 Posted September 14, 2005 at 10:32 PM A utilização de Labels e Gotos deve ser evitada ao máximo, só deve ser utilizada quando a linguagem não permite nenhum outro tipo de solução e mesmo assim com moderação. Aqui estão os principais inconvenientes da utilização destes: ➔ A quebra na estrutura do código: a utilização de um goto leva a que a leitura do código "salte" para outra zona totalmente diferente do código, quebrando totalmente a leitura deste, tornando o código muito mais difícil de compreender. Esta é chamada a programação "spagetti"!➔ O facto de possibilitar a saída no meio de ciclos e funções pode levar a erros inesperados e difíceis de interpretar, tornando o programa mais difícil de depurar (retirar os erros).➔ Embora na maioria das linguagens seja possível determinar o nome destas, o nome nunca pode ser muito específico, por isso é outro factor que dificulta a leitura do código.➔ A utilização destes leva a uma atitude "perguiçosa" do programador, já que este passa a evitar estruturar e a pensar no código convenientemente. Por essas razões é que deve ser evitado o uso de Labels e Gotos. http://sergiosantos.info http://ideias3.com http://takeoff.ideias3.com
vbmaster Posted September 14, 2005 at 10:45 PM Report #5116 Posted September 14, 2005 at 10:45 PM 'És berdade' o goto que eu tanto gosto de usar em vb (aí nunca notei nenhum problema em os usar) é muito pouco aconselhável e eu próprio já notei isso nos meus programas em c++ (nesta ultima linguagem passo bem sem eles). Realmente o autor tem uma maneira engraçada de transmitir a informação....só este exerto gostei.
deathseeker25 Posted September 14, 2005 at 10:47 PM Author Report #5118 Posted September 14, 2005 at 10:47 PM Vendo dessa forma dá para perceber então o porque de toda esta festa no discurso do Luís Damas. Para os utilizadores, o programa ter ou não gotos é indiferente, mas para os programadores que lêm o código ter gotos dá dores de cabeça. Num excerto bem pequenino de código (meu caso) não há problema porque facilmente se identifica o goto. No entanto, criam-se maus hábitos de programação. Se for num programa de dimensão elevada, eu não quero imaginar. Cumps
David Pintassilgo Posted September 14, 2005 at 11:00 PM Report #5122 Posted September 14, 2005 at 11:00 PM Ora ai está uma grande verdade! Eu proprio me encaixo prefeitamente no exemplo. Comecando a trabalhar em BASIC apanhei o virus dos goto's A utilização destes leva a uma atitude "perguiçosa" do programador, já que este passa a evitar estruturar e a pensar no código convenientemente. é isso mesmo!!! eu já só uso goto mesmo por uma questão de preguiça de fazer as coisas como deve de ser, ainda não me consegui livrar complectamente do vicio, mas já não o uso com regularidade. cool stuffs to check. http://blog.zxcoders.com//
saramgsilva Posted September 15, 2005 at 11:12 AM Report #5139 Posted September 15, 2005 at 11:12 AM por acaso nunca usei nada disso... nem tinha conhecimento disso... :roll: www.saramgsilva.com As minhas apps no WP7 Marketplace Youtube : Galinho - Windows Phone 7.5
Bruno Posted September 15, 2005 at 04:01 PM Report #5151 Posted September 15, 2005 at 04:01 PM Disseram tudo 😛 Nada de "Goto" 😄
Roftone Posted September 16, 2005 at 12:04 PM Report #5166 Posted September 16, 2005 at 12:04 PM Para quê usar o goto quando existe o switch()...case?
David Pintassilgo Posted September 16, 2005 at 12:14 PM Report #5168 Posted September 16, 2005 at 12:14 PM Para quê usar o goto quando existe o switch()...case? Exacto! O 'problema' é que o goto é usado de uma forma mais rápida/practica para quem está a comecar a programar e não tem conhecimentos suficientes e dai para a frente vai ficando o 'vicio'! cool stuffs to check. http://blog.zxcoders.com//
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now