Uso de funciones.....

03/07/2006 - 22:51 por xavendano | Informe spam
Saludos...

He leido un poco acerca del uso de la instrucción Return como reemplazo en
.NET de lo que anteriormente VB6 se utilizaba en funciones.
En realidad cual es la forma correcta:

Function Logico as Boolean

a-) Logico = True o Logico = False
b-) Return True / Return False


De antemano gracias

Preguntas similare

Leer las respuestas

#6 Leonardo Azpurua [mvp vb]
04/07/2006 - 20:42 | Informe spam
Hola, Carlos:

Pensé que la discusión del GOTO estaba liquidada desde hacia años :-))

En VB no lo uso para nada (salvo en los OnError de VB6), pero en "C" lo
utilizaba con alguna frecuencia para impedir esos anidamientos monstruosos
de Ifs.

En VB uso los manejadores de error o las excepciones (dependiendo de la
version), y escribo cada procedimiento como una secuencia lineal de
instrucciones, con los condicionales e iteraciones requeridos por la logica
del procedimiento, pero no dependo en absluto de los resultados de las
funciones para decidir la logica de ejecución: o las funciones hacen lo que
tienen que hacer, o se produce una excepcion.

Sin embargo hay casos, y las rutinas de validacion en las GUI son el ejemplo
tipico, en los que usar un Return produce un codigo no solo mas compacto:
tambien mas legible:

If Not EsValidaLaPrimeraCondicion Then Return False
If Not EsValidaLaSegunda Then Return False
If Not EsValidaLaTercera Then Return False
Return True

es definitivamente mejor que:

Dim isOk As Boolean
If EsValidaLaPrimeraCondicion Then
If EsValidaLaSegunda Then
If EsValidaLaTercera Then
isOk = True
Else
isOk = False
End If
Else
isOk = False
End If
Else
isOk = False
End If
laFuncion = isOk

que es solo una manera de escribirlo, otra puede ser:

isOk = EsValidaLaPrimeraCondicion _
AndAlso EsValidaLaSegunda _
AndAlso EsValidaLaTercera
laFuncion = isOk

que podria ser mas eficiente, pero en cuanto a *claridad* sigo prefiriendo
la primera (sobre todo cuando la cantidad de condiciones aumenta)..

En mis primeros años en el oficio me tocó depurar codigo en COBOL escrito
por cualquiera: los spaghetti nunca estan tanto en el codigo como en la
cabeza de quien lo escribe, y eso no tiene arreglo.

Salud!
Respuesta Responder a este mensaje
#7 Carlos Gómez
05/07/2006 - 17:43 | Informe spam
Totalmente de acuerdo contigo

Desde Aguadulce - España
Carlos Gomez
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una pregunta AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida