Calificación:
  • 1 voto(s) - 5 Media
  • 1
  • 2
  • 3
  • 4
  • 5
Para aquellos que les llame la atencion la Programacion
#28
(12-10-2013, 07:11 PM)Reaper45 escribió: A mí me gusta bastante más un break dentro de un for si con ello evito, por ejemplo, hacer un
Código:
for(int i = 0;i < 10 && checkCondition();i++) {
  doStuff();
}

Yo me refería más a los while. Los for prefiero usarlos precisamente para cuando ya tengo controlado cuándo va a acabar el bucle, y no necesito hacer comprobaciones extra. Pero si tuviera que hacerlas, posiblemente sí preferiría dejar los parámetros del for lo más simples posible, metiendo sólo cosas relevantes a la i, (int i=0;i<10;i++), y meter las condiciones adicionales dentro.

(12-10-2013, 07:11 PM)Reaper45 escribió:
(12-10-2013, 06:43 PM)chachibukai escribió: Y esa misma condición del if() podría ser prácticamente la misma que la del bucle pero ligeramente modificada. Y está claro que, de haberla metido directamente como condición del bucle, en vez de en un if dentro del propio bucle, habría sido más legible.

Y así estás liándolo de huevos cuando te aparezca una nueva condición de salida. No siempre se te presenta la oportunidad de analizarlo todo previamente.

Hombre, ya digo que hablo en general, sé que hay demasiados factores como para poder elegir una solución perfecta, aplicable en todos los casos, aparte de que me baso en la experiencia, ni siquiera había caído en lo que has dicho porque nunca me ha tocado nada en lo que no pudiera expresar la condición de continuación en el while() desde el primer momento.



(12-10-2013, 07:38 PM)LoKo escribió: Hombre, a mi no me parece mal que un código que busca algo dentro de un array haga algo del estilo

Código:
int codigoProducto=6
for(int i=0;i<tamañoArray;++i){
  if(array[i]==codigoProducto){
    return(i);
  }
}

A mí es que ya digo que desde el principio me inculcaron la derivación formal y una serie de reglas que reconozco que en ocasiones pueden ser un coñazo (en cuyo caso no las uso, pero no puedo evitar sentirme algo incómodo, como cuando estás en java nombrando las cosas estilo estoEsUnaCosa y es un trabajo por parejas y el otro llama a las cosas esto_es_otra_cosa y te dan ganas de toquetear todo su código (intuyo que Reaper me comprenderá lulz )), así que mi impulso inicial sería hacer el código de LoKo como:

Código:
int codigoProducto=6;
int i = 0;
while(i<=tamañoArray && array[i] != codigoProducto) {
    i++
}
if (array[i] == codigoProducto) {
    return(i);
}

Que es lo que decía al principio: como no sé cuándo va a acabar el bucle, me tienta ponerlo como while, porque me acostumbraron así, pero entonces me queda una cosa muy fea que me podría haber evitado con un for.
[Imagen: SillyWalk.jpg] [Imagen: Bl3yK0h.png]x071
What a beautiful Duwang!
Responder


Mensajes en este tema
RE: Para aquellos que les llame la atencion la Programacion - por Chachibukai - 12-10-2013, 09:26 PM

Salto de foro:


Usuarios navegando en este tema: 1 invitado(s)