Estilo de corchetes

NeB1

Post ultra tonto del día, no me crucifiqueis.

¿Como preferís montar los condicionales, así:


if( $valor == true )
{
     print "Guay";
     print "Para los quisquillosos";
}


ó así

if( $valor == true ){
     print "Guay";
     print "Para los quisquillosos";
}

?
Antes lo hacía de la segunda forma porque te ahorras una linea. Ahora sin embargo, por acostumbrarme un poco al visual studio, me he acostumbrado a la primera forma.

Seguro que ahora sale cabron, loco o erdanblo diciendome que hay un estudio psicológico que demuestra que una forma es mejor por X

Abro paraguas ^^

Poisonous

yo uso modo B), pero la mayoria de pro coders de c q he visto usan modo A)

Amazon

Yo uso A xd

r2d2rigo

A) C/C++eros
B) Javeros

Odio Java, ergo uso el A.

LOc0

Para el ejemplo que propones ninguna de esas xD Pero eso pertenece al mundo de las manías y ahí es mejor no escarbar demasiado. Yo por ejemplo sólo uso las llaves cuando no me queda más remedio (más de una sentencia después del if, for, while, etc...) porque A MI me parece más claro el código (tabulando correctamente, claro está y cuando las uso suelo optar por la opción A). También abuso de los paréntesis (traumas del C) y de las "sentencias-chorizo-de-200-caracteres" que A MI me parecen más "elegantes" pero que a cualquier otr@ le pueden parecer una puta guarrería o confusas sin necesidad.

Resumiendo, si compila es bueno, si funciona es perfecto y si lo entiende alguien a parte de ti has triunfado xD.

Salu2 ;)

NeB1

#5 como está ahora te parece mejor ?? XDDDD

Si se pueden obviar los corchetes yo tmb lo considero mejor

ZombieSlam

Recién aprendido lo ponía así.
if( $valor == true )
{print "Guay";
print "Para los quisquillosos";}

Hasta que me echó la broncaza el profesor porque no se enteraba de nada mirando el codigo, pero joder yo sabía donde estaban las cosas.
Despues de eso, uso el A.

PiradoIV

Yo uso A, menos cuando estoy escribiendo en código de otro, en el que estaba como B :S

RaymaN

Yo también uso el A, y por cierto son llaves, los corchetes son [ ] xD

NeB1

#9 ouch xD

eXtreM3

Forma A

más que nada por mantener una estructura simétrica en los datos, me gusta saber que una llave cierra a la misma altura que se abre.
Si tengo un if que ocupa 300 líneas y dentro tengo 10 estructuras más que se abren y se cierran, cuando estás abajo del todo te encuentras esto:

                        }
                     }
                  }
               }
            }
         }
      }
   }
}

Me gusta porque simplemente con subir un poco el scroll ya sabes qué llave es de qué estructura :D

(pa gustos colores xD)

2
scumah

Antes B, y de hecho tenía un especial coraje al A, pero desde que me cambiaron el formateador por defecto en el curro me he acostumbrado completamente al A xD

10 días después
bLaKnI

B desde siempre.
Cuando veo algo en A, muchas veces lo cambio a B. xD

Eso si, la llave de cierre tiene que coincidir con el IF a la perfección.

dagavi

#13 +1, pero lo de que tiene que coincidir pasa en tos lados, si pones el método A y haces una indentación variable tampoco sabrás que coño abre y cierra que.

#11 "Me gusta porque simplemente con subir un poco el scroll ya sabes qué llave es de qué estructura "

Pues igual que con B xD

PD: ++B

Hardy

Yo uso el modo B.

No me gusta nada cuando veo código con el modo A xDD

BLZKZ

#14 casi cualquier IDE te marca la linea del corchete de apertura cuando estás en uno que cierra.

P.e.:

si tienes

if (i==0) {
   i++;
}

al escribir } te sale o bien en una barra de estado o hover o algo asi "if (i==0) {" si lo pones como la opción b) solo saldria "{" en la ayuda, y para muchos anidados es una basura. Yo uso B) y la mayoria de la gente que conozco también, salvo uno o dos xD

naete

Antes usaba A, pero ahora B. Todo por culpa de los IDE XD

dagavi

#16 Ya se que los IDE lo marcan, pero #11 decía que con subir el scroll ya lo podía relacionar, cosa que ocurre con ambos métodos.

Lo que me parece contradictorio es la explicación que das de la ayuda del IDE:

Dices que al escribir "if (i == 0) {" si lo pones como b, que es justo eso, solo te sale en la ayuda el "{" ¿No será si lo pones como en A (que es en líneas diferentes)? xD

Siempre nos queda el método sin llaves:

if (not (cond)) goto end_if
// código if sin llaves
end_if:
BLZKZ

#18 lol tienes razón ida de pelota total O_o

Ahora edito, yo uso B xD

H4z4rD

Como Javero que soy, B

Aunque, no se porque, estoy acostumbrado a ponerlo de la forma A en javascript, y B para todo lo demas.

BLZKZ

#20 soy el unico que aun "empezando" a programar con c++ se acostumbró a la B? xDDDDDDDDD

PD: lo pongo entre comillas porque antes ya empecé con pascal, pero meh

Fyn4r

#21 yo tambien empecé en Pascal y uso la forma B xDDDD

Para PHP / C++ / JAVA (los lenguajes que uso / he usado) sigo usando la forma B xD

Yandr0s

Yo prefiero la A porque como dice #11 , cuando tienes un monton de anidados sabes que llave abre y que llave cierra cada uno

dagavi

#23 ¿De verdad en este código no sabrías hacer el emparejamiento abre/cierra?
https://dl.dropbox.com/u/1501117/codigo.txt

Porque es exactamente igual en el método A que en el B, la única diferencia es que en A sube sy ves un "{" y en B ves la sentencia (función, if, while, etc.)

Yandr0s

Hombre, y si el if ( o lo que sea) tiene mas de 3 puntos de longitud?

a mi no me gusta correr el scroll mas que lo justo y necesario

Pero bueno cada cual que lo haga a su manera, o siguiendo la metodologia que le manden xD

dagavi

Hombre, si el if tiene mayor tamaño pues también se puede apañar, ami me gusta que las condiciones siempre queden después del " ( "

Es decir:

if (cond1 and
    cond2 and
    cond3) {

Y problema resuelto, ahora bien, si te cargas la indentación por hacer multilinea esto ya no vale.

Aunque bueno, esto es gustos y casos concretos (algunos códigos si me he encontrado que quedaba raro poner el "{" al final, aunk muchas veces es por el resto de la estructura, espaciados que dejan, etc.)

eXtreM3

dagavi, no he dicho que me guste la forma A sólo por saber más fácil qué llave cierra o abre una estructura. Como dije en #11 :

más que nada por mantener una estructura simétrica en los datos, me gusta saber que una llave cierra a la misma altura que se abre.

Esa es el principal motivo, si una estructura se abre en el carácter 50, me gusta que cierre en el carácter 50 ;) Mera estética (y por su continuo uso por mi parte, también facilidad y comodidad para mí)


Cuando empecé a programar en c++ mi profesor nos obligaba a usar la forma A, yo le decía que me resultaba más fácil de ver y tal (con los argumentos que estoy dando en este thread) con la B, y nada no había cojones, el tío o le ponías esa estructura o te bajaba nota a saco ¬¬

dr_Rouman

Si uso la A, las llaves a la altura de la primera y última sentencia

Si uso la B, sólo alineada con la última.

Si uso python...:P

B

siempre uso la primera forma xD

Usuarios habituales