Article View: es.comp.lenguajes
Article #185RE: Programacion con GOTO
From: Pepito
Date: Wed, 15 Nov 2000 00:00
Date: Wed, 15 Nov 2000 00:00
48 lines
2685 bytes
2685 bytes
Hola a todos,
Voy a romper una lanza en favor del goto.
En primer lugar debo decir que soy programador profesional de C/C++ desde
hace 8 a�os y en la facultad nos ense�aron a NO utilizar el goto JAM�S.
Estuve muchos a�os sin utilizar esa instrucci�n, pero recientemente he
llegado a la conclusi�n de que en ciertos casos puede ayudar a simplificar
el c�digo y hacerlo mas legible, adem�s por supuesto que se puede optimizar
mucho mas el c�digo y optimizar ciertos algoritmos.
Pongamos un ejemplo:
int funcion ()
{
...
x= new X
for () {
for () {
...
if () {
// Se produce un error, �que hacemos?, hay tres opciones:
// opci�n 1) return -1 (error no se hace el delete)
// opci�n 2) break (debemos guardar un valor de control en una variable
para salir luego del bucle externo)
// opci�n 3) goto fin: (soluci�n limpia y r�pida)
}
}
}
fin:
delete x;
...
}
De todos modos nosotros cuando programamos estamos utilizando sin saberlo el
goto de forma intensiva:
- Al hacer un return en el medio de una funci�n.
- Instrucciones del tipo break y continue (en for y while).
- Manejo de excepciones.
- Instrucci�n case.
Por lo tanto la conclusi�n es que no es ni blanco ni negro. Ya que tenemos
una instrucci�n (goto) para modificar el flujo del programa hay que intentar
aprovecharla cuando nos sea beneficioso y por supuesto haga mas legible y
r�pido el c�digo.
Saludos.
Technical Details
Message-ID:
<8utqmr$4kd$1@diana.bcn.ttd.net>Path:
arc1-ca.pugleaf.net!unknown!not-for-mailReferences:
<zXhQ5.698$cQ5.16259@m2newsread.uni2.es>Show Full Headers
Complete Article Headers
X-Google-Language: SPANISH,ASCII X-Google-Thread: 1135b7,9ebb41239b0c5eaa X-Google-Attributes: gid1135b7,public X-Google-Thread: 105378,9ebb41239b0c5eaa X-Google-Attributes: gid105378,public X-Google-Thread: f78ff,9ebb41239b0c5eaa X-Google-Attributes: gidf78ff,public X-Google-Thread: f59de,9ebb41239b0c5eaa X-Google-Attributes: gidf59de,public X-Google-Thread: f86c8,9ebb41239b0c5eaa X-Google-Attributes: gidf86c8,public X-Google-Thread: 1116f3,9ebb41239b0c5eaa X-Google-Attributes: gid1116f3,public X-Google-Thread: 10d088,9ebb41239b0c5eaa X-Google-Attributes: gid10d088,public From: "Pepito" <kit1972@hotmail.com> Subject: RE: Programacion con GOTO Date: 2000/11/15 Message-ID: <8utqmr$4kd$1@diana.bcn.ttd.net> X-Deja-AN: 693852089 References: <zXhQ5.698$cQ5.16259@m2newsread.uni2.es> X-Priority: 3 X-MimeOLE: Produced By Microsoft MimeOLE V5.00.2314.1300 Organization: Telefonica Transmision de Datos X-MSMail-Priority: Normal Reply-To: "Pepito" <kit1972@hotmail.com> Newsgroups: es.comp.lenguajes,es.comp.lenguajes.java,es.comp.lenguajes.misc,es.comp.os.linux.programacion,es.comp.os.ms-windows.programacion,es.foro.lenguajes,esp.comp.so.linux.programacion