Donde es mejor declarar las Variables

16/07/2006 - 16:46 por Jose Luis Bautista | Informe spam
Tengo una pequeña discursion de donde es mejor declarar las variables, tanto
por claridad, como por rendimiento.

De estas tres posibilidades, cual seria la optima. (X solo se usa en el
bucle)

OPCION 1: AL principio de la funcion

public void funcion(){

objecto x;

//
// Algunas tareas
//

for (int i=0; i< cantidadmuygrade; i++){
x= new objecto(x);
//Tareas con X
}
}


OPcion 2: Encima del bucle


public void funcion(){
//
// Algunas tareas
//
objecto x;
for (int i=0; i< cantidadmuygrade; i++){
x= new objecto(x);
//Tareas con X
}
}


OPCION 3: Mi favorita, dentro dle bucle

public void funcion(){
//
// Algunas tareas
//

for (int i=0; i< cantidadmuygrade; i++){
objecto x= new objecto(x);
//Tareas con X
}
}


¿Cual seria la mas correcta? considerando por ejemplo que el bucle se repite
muchas veces, y puede consumir mucha memoria.

Un saludo y gracias
 

Leer las respuestas

#1 Ciru
17/07/2006 - 11:03 | Informe spam
Esa discusión la hemos tenido alguna vez en mi trabajo, y encontramos la
respuesta. haciendo la prueba de las 3 maneras, la de Vyacheslav Popov de
declarar la variable en el for no la sabia.

Realizamos los ejecutables de todas las maneras y luego utilizamos un
decompilador de codigo ... sabiendo que utiliza un optimizador que mejor que
el mismo para saber como le gustan las cosas.

Sale siempre igual, asi que todo depende de como te sea a ti mas facil de
entender.

"Vyacheslav Popov" escribió:

4º solución:

for (objecto x, int i=0; i< cantidadmuygrade; i++){
x= new objecto(x);
//Tareas con X
}

De todas formas hay un optimizador de código que se encarga de buscar la
mejor forma de ejecución.

Saludos.


"Aura" escribió en el mensaje
news:
>> sitios en los que es imprescindible que se vean. En este caso
>> correspondería con la opción 3 (declararla dentro del bucle). De esta
>> manera reduces al mínimo el riesgo de utilizar una variable sin darte
>> cuenta en un lugar donde
>
> pero ...una preguntica de novata, no trae problema tener la definicion
> dentro del bucle ?, no se estaria asignando el espacio en cada iteracion
> innecesariamente ? o es que debe eliminarse al final del bucle ?
>
>
>
>
>



Preguntas similares