Mie
28
May

Costumbres del código: Uso de las llaves en programación { }


Voy a analizar algunas de las costumbres que tengo al programar. En ésta ocasión voy a hablar de las llave. Las llaves { }, un tipo de paréntesis, usados en pares para separar nuestro código.

A mí me queda más cómodo de leer el código cuando escribo las llaves en la línea donde termina la condición de un if o while, o la declaración de una función:
Por ejemplo:

if(condicion){
     pasa algo;
}

Ó

int funcion(int algo){
     return algo+1;
}

Ahora, el maldito IDE que uso en el trabajo (el innombrable) me cambia automáticamente el código, y cuando escribo un if, una función, o lo que lleve las llaves, me indenta así:

int funcion(int algo)
{
     return algo+1;
}

Ésto me hizo pensar, que seguramente al encargado de programar esa parte del IDE, le quedaba más cómodo leer el código con las llaves de esa manera. Por lo que probablemente así como el uso de llaves, deben haber miles de costumbres que uno va adquiriendo al programar, que pueden coincidir con la mayoría o no.

Así que le pregunto a ustedes los lectores, ¿les queda más cómodo leer así? Es cuestión de costumbre, pero ¿no es un desperdicio de líneas?
Miren cómo queda un if con else:

if(condicion){
     pasa algo;
}
else{
     pasa otra cosa;
}

¿Qué otras costumbres se agarra uno con la sintaxis y programando? Porque no siempre aprendemos con el estándar…

Te puede interesar el seguimiento de éste post en

Costumbres del código: Uso de las llaves en programación { } - Parte 2


Si te gustó éste post, podés apoyar a PicandoCódigo a través de PayPal!



21 Comentarios para “Costumbres del código: Uso de las llaves en programación { }”

  1. Blaxter



    Mozilla/5.0 (X11; U; Linux i686; es-ES; rv:1.8.1.14) Gecko/20080419 Ubuntu/8.04 (hardy) Firefox/2.0.0.14

    Al inicio de los tiempos, también programaba sin salto de línea para las llaves, pero después me empezó a gustar más ponerlas con salto. Es un desperdicio de líneas, si, pero nada es suficiente para la legibilidad que es más importante que las líneas.

  2. Marto



    Mozilla/5.0 (compatible; Konqueror/3.5; Linux) KHTML/3.5.5 (like Gecko) (Debian)

    coincido plenamente con Blaxter. Para mi es mucho mas copado usar llaves con saltos de linea. Es mas y tambien en c por ejemplo pongo lineas en blanco entre distintos tipos de “segmentos” de codigo, llamese, declaracion de variables, un if nuevo, un while nuevo, for, etc.
    Calculo que todo eso lo hago luego de ver tanto codigo fuente ilegible. Que se yo. Va en gustos tambien.

  3. Omar



    Mozilla/5.0 (Windows; U; Windows NT 5.1; es-ES; rv:1.8.1.14) Gecko/20080404 Firefox/2.0.0.14

    Estoy muy de acuerdo con Marto y Blaxter, yo programo en el segundo estilo (antes no), pero ahora me gusta más, más legible y a parte, si los IDE lo tiene por defecto (no sólo VS) será por algo.

    Saludos¡

  4. fernando



    Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.1.13) Gecko/20080409 IceCat/2.0.0.13-g1

    Baxter, Marto y Omar:
    Gracias por compartir su experiencia. A mí me resulta hasta más cómodo leer el código cuando lo escribo sin saltos de línea. Sí agrego un salto de línea entre el fin de una función y la declaración de la otra:

    void algo(){
    }

    void otracosa(){

    }

    Es interesante conocer sus puntos de vista. Realmente no esperaba que más gente escribiera de esa forma.

    Pero bueno, eso demuestra que para gustos, colores. No es algo que afecte el resultado final de todas formas.

    Seguiré investigando las costumbres entonces para conocer más…

    Saludos y gracias por comentar

  5. DonPiluso



    Opera/9.27 (Windows NT 5.1; U; en)

    Cuando empecé a estudiar PHP, en los códigos de ejemplos que aparecían en libro no siempre usaba las llaves para las condiciones, cuando los pasaba para probarlos siempre las agregaba.

    Cuando comencé a programar por mi cuenta los seguí usando, si después de un tiempo tengo que revisar un script para realizar algún cambio es mejor que sea fácil de leer.

    La otra costumbre que me agarré es la de tabular las condiciones y funciones. Por ejemplo:

    if(condición){
    echo “tal cosa”;
    }else{
    echo “tal otra”;
    }

    Un abrazo

  6. Lino



    Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322; .NET CLR 2.0.50727; InfoPath.2; .NET CLR 3.0.04506.648; .NET CLR 3.5.21022)

    Personalmente prefiero la opción en la que se abre la llave en una nueva línea. De todas formas, como para gustos colores, de ahí la posibilidades de configuración del editor del Visual Studio. No tienes más que ir a Tools->Options->Text Editor y ahí configuras el formateo del código para cada tipo de lenguaje de forma que tan solo tienes que indicarle que no te introduzca una nueva línea para las llaves.
    Un saludo.

  7. FaCuZ



    Mozilla/5.0 (Windows; U; Windows NT 5.1; es-AR; rv:1.8.1.14) Gecko/20080404 Firefox/2.0.0.14

    Yo soy de los que buscan la menor cantidad de lineas posibles, una linea con un { no sirve para nada! Muchos dicen que se entiende mejor el codigo pero para eso esta el tab. Cada bloque leva un tabs mas que el anterior. Asi se entiende perfectamente el codigo sin tener que estar media hora para encontrar algo de tantas lineas inutiles.

  8. fernando



    Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.1.13) Gecko/20080409 IceCat/2.0.0.13-g1

    DonPiluso y FaCuZ, de los míos :P
    Hay que ahorrar la mayor cantidad de líneas como sea posible! Lástima que Wordpress no me deja mostrar las tabulaciones, pero sí, la idea es que todo quede correctamente tabulado, cosa de orientarnos.

    Lino: Gracias por el tip. Supuse que en algún lado estaría eso. De todas formas me queda poco con el innombrable… Pero lo voy a personalizar.

  9. Pablo



    Mozilla/5.0 (Windows; U; Windows NT 5.1; es-AR; rv:1.9) Gecko/2008051206 Firefox/3.0

    Yo también prefieron la opción de utilizar la llave en una nueva línea. Para mi gusto, es mucho más fácil de leer.

    if (condicion)
    {
    …. hace algo;
    }
    else
    {
    …. hace otra cosa
    }

    es mucho más fácil de leer que:

    if (condicion){
    …. hace algo;
    }else{
    …. hace otra cosa
    }

    Está como “muy aglutinado todo”, ni hablar si tenés una buena cantidad de línes dentro de cada bloque.

  10. Edder



    Mozilla/5.0 (Windows; U; Windows NT 5.1; es-ES; rv:1.8.1.14) Gecko/20080404 Firefox/2.0.0.14

    Estoy de acuerdo con FaCuZ, es bueno ahorra lineas además en Javascript, como en C y PHP ayuda mucho leer el codigo con la llave si el salto de linea más que todo en códigos complicados.

  11. kbza



    Mozilla/5.0 (Windows; U; Windows NT 5.1; es-ES; rv:1.8.1.14) Gecko/20080404 Firefox/2.0.0.14

    agree con la mayoría… yo soy de poner la llave en una linea aparte también…

    sobre gustos no hay nada escrito.. en realidad creo que esto sería una flamewar.. jajaja..

    y cual es la idea de que el código tenga la menor cantidad de líneas posibles ??.. no sería mejor que fuese mas legible, en vez de que sea una sola línea de 3000 caracteres ? :-)

    saludos

  12. Diego



    Mozilla/5.0 (Windows; U; Windows NT 5.1; es-ES; rv:1.8.1.14) Gecko/20080404 Firefox/2.0.0.14

    A mi personalmente me queda mas comodo asi:
    C:
    if(condicion){
    pasa algo;
    }

    Tanto en java como en C o PHP, me resulta mas legible. Igualmente en el laburo por un estandar de la emrpesa en C# lo estamos usando asi:

    C:
    if(condicion)
    {
    pasa algo;
    }

    Al fin y al cabo te acostumbras y es lo mismo, pero bueno, cuestion de gustos. Es como decir “me queda mas comodo linux que Windows” o viceversa. Flamewarss
    jeje

    Saludos bo

  13. Marto



    Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.1.14) Gecko/20080404 Iceweasel/2.0.0.14 (Debian-2.0.0.14-0etch1)

    No entiendo a que se refieren con ahorrar lineas, al menos en lo que respecta a lenguajes compilados, es distinto con interpretados. SI en definitiva una vez comiplado, el codigo en asm no cambia porque le agregues una linea mas en blanco o no.
    Y con respecto a la cantidad de memoria que ocupa un archivo en disco, no creo que estemos en esta epoca, desesperados por ahorrar, mas con los nuevos discos que estan saliendo en la actualidad de 500 gb o mas.
    Repito, siempre refiriendome a lenguajes compilados.

  14. Leandro



    Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.1.14) Gecko/20080404 Iceweasel/2.0.0.14 (Debian-2.0.0.14-0etch1)

    Yo siempre puse las llaves arriba.
    No por ahorrar lineas, sino porque me parece más prolijo.
    Es más siempre que agarro un Visual Studio lo primero que le configuro es poner las llaves arriba.

    Pero parece que somos minoria en esto.

  15. dm



    Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1) ; .NET CLR 2.0.50727; .NET CLR 3.0.04506.648; .NET CLR 3.5.21022; .NET CLR 1.1.4322)

    Yo hacía lo mismo que Fernando con el código, no me gustaba ver una línea ahi solo con una llave abierta, pero a medida que las funciones que uno hace son mas complicadas me parece que queda mucho mas prolijo con esa línea pero bueno, es cuestión de gustos…

  16. Menda



    Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.4; es-ES; rv:1.9) Gecko/2008051202 Firefox/3.0

    Yo idento de la siguiente manera:
    if (condicion) {
    blablabla;
    } else {
    blablabla2;
    }

    Para trozos de codigo grandes como funciones y clases si idento así:
    class Usuario
    {
    }

    function hola ()
    {
    }

    Esto lo hago así porque muchas veces buscamos funciones en el código y pasando código rápidamente no se encuentran ni se visualizan bien. Así sí se destacan.

    Y si es un if simple y que no requiera mucha comprensión:
    if (condicion) printf (”yes!”);

    Y otra manía mía es siempre dejar un espacio antes de poner un paréntesis, y no como hace la mayoría de la gente:
    function hola();

  17. eduardomatica



    Opera/9.27 (Windows NT 5.1; U; es-es)

    Yo idento de la segunda manera, pongo las llaves en nuevas lineas, pero reconozco que antes lo hacia como lo haces vos ahora fer.

    Se gana mucha legilibilidad, sobre todo para codigos grandes (osea todos).

    Tengo un articulo en mi blog sobre los distintos tipos de indentacion ;)

    Salu2.

  18. fernando



    Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.1.13) Gecko/20080409 IceCat/2.0.0.13-g1

    Gente:
    Muchísimas gracias por sus invaluables aportes.
    Respondo a sus comentarios en otro post:
    Continuación de Costumbres del código.

    Saludos a todos y gracias por comentar!

  19. osea



    Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1)

    osea amiguis

Trackbacks

  1. Costumbres del código: Uso de las llaves en programación { } - Parte 2 | Picando Código
  2. Costumbres del código: [Lenguaje del teclado] | Picando Código

Dejar un comentario

Si quieres mostrar código, enciérralo entre los tags pre de esta forma:
<pre lang="L"> y </pre>, donde L es un lenguaje compatible GeSHI. Más info.

XHTML: Las siguientes tags están permitidas: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="">


Al agregar un comentario en esta página, usted acepta la siguiente licencia para su publicación:
Creative Commons License Creative Commons Attribution-Share Alike 3.0 Unported License.