Mi nombre es Fernando Briano y soy programador.

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

Feed de comentarios | Url para Trackbacks | Suscribirse a los posts por correo electrónico

26 comentarios en este post

  1. Avatar Blaxter 28 Mayo. 2008 - 4:21 am Firefox 2.0.0.14 Ubuntu

    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. Avatar Marto 28 Mayo. 2008 - 4:28 am Konqueror 3.5 Debian GNU/Linux

    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. Avatar Omar 28 Mayo. 2008 - 5:26 am Firefox 2.0.0.14 Windows XP

    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. Avatar fernando 28 Mayo. 2008 - 5:39 am GNU IceCat 2.0.0.13 GNU/Linux

    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. Avatar DonPiluso 28 Mayo. 2008 - 5:49 am Opera 9.27 Windows XP

    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. Avatar Lino 28 Mayo. 2008 - 9:14 am Internet Explorer 7.0 Windows XP

    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. Avatar FaCuZ 28 Mayo. 2008 - 10:23 am Firefox 2.0.0.14 Windows XP

    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. Avatar fernando 28 Mayo. 2008 - 10:45 am GNU IceCat 2.0.0.13 GNU/Linux

    DonPiluso y FaCuZ, de los míos 😛
    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. Avatar Pablo 28 Mayo. 2008 - 12:53 pm Firefox 3.0 Windows XP

    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. Avatar Edder 28 Mayo. 2008 - 1:22 pm Firefox 2.0.0.14 Windows XP

    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. Avatar kbza 28 Mayo. 2008 - 1:37 pm Firefox 2.0.0.14 Windows XP

    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. Avatar Diego 28 Mayo. 2008 - 2:48 pm Firefox 2.0.0.14 Windows XP

    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. Avatar Marto 28 Mayo. 2008 - 5:39 pm Debian IceWeasel 2.0.0.14 Debian GNU/Linux

    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. Avatar Leandro 28 Mayo. 2008 - 7:42 pm Debian IceWeasel 2.0.0.14 Debian GNU/Linux

    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. Avatar dm 28 Mayo. 2008 - 7:46 pm Internet Explorer 7.0 Windows XP

    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. Avatar Menda 28 Mayo. 2008 - 8:04 pm Firefox 3.0 Mac OS

    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. Avatar eduardomatica 28 Mayo. 2008 - 8:31 pm Opera 9.27 Windows XP

    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. Avatar fernando 28 Mayo. 2008 - 9:13 pm GNU IceCat 2.0.0.13 GNU/Linux

    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. Avatar osea 28 Octubre. 2008 - 2:52 pm Internet Explorer 7.0 Windows XP

    osea amiguis

  20. Avatar Marcelo 5 Octubre. 2013 - 7:44 pm Google Chrome 29.0.1547.76 Windows 7

    Mmhhmh a mi me parece mejor que sea como el IDE que mencionaste, ya que asi te das cuenta mejor si te falta alguna llave que olvidaste, bueno solo es por mi parte talves a otros les gusta como el anterior

  21. Avatar Raziel 6 Octubre. 2013 - 6:10 pm Firefox 21.0 GNU/Linux

    para mi es mejor que este en una nueva linea

  22. Avatar guzman6001 18 Noviembre. 2013 - 11:38 am Google Chrome 30.0.1599.101 Windows 7

    if(estoyProgramando())
    {
    identoAsi(); // Resulta más fácil encontrar la pareja de cada llave cuando son muchas.
    }

  23. Avatar BAYRON 25 Junio. 2014 - 10:18 am Google Chrome 35.0.1916.153 Windows 7

    para mi es mejor …. las llaves, de hecho estaba investigando esto .

  24. Avatar charly 16 Julio. 2017 - 4:55 pm Google Chrome 59.0.3071.115 Windows NT

    gracia por elresumen me sirvio mucho

  1. WordPress Costumbres del código: Uso de las llaves en programación { } - Parte 2 | Picando Código | 28 Mayo. 2008 - 9:12 pm

    […] Mi blog sobre programación, tecnología, web, software libre, videojuegos y más « Costumbres del código: Uso de las llaves en programación { } Wed May […]

  2. WordPress Costumbres del código: [Lenguaje del teclado] | Picando Código | 15 Junio. 2008 - 9:22 pm

    […] (en vez de . y “Shift 7“). También los corchetes rectos y las llaves, de las cuales mucho hablamos… La arroba se hace con Shift 2, más práctico también que “Alt 2” o […]

Dejar un comentario

Toasty!