Un método de identación bastante curioso para tu código
Seguro has programado a tal nivel que alguna vez quisiste ver cuál era la mejor forma de identar tu código para que se vea lo más bonito posible. No hay una fórmula concreta para identar el código, además del tabulador, porque depende mucho de cómo se ve el código en cierto lenguaje de programación. Decir que hay un método concreto para identar tu código es como decir que solo hay una forma de programar.
Leonardo Carreiro hizo un post en Medium donde da una sugerencia de identación basada en columnas, para poder ordenar muchas veces la declaración de variables o los campos en una estructura JSON. La intención es que podamos tener mayor legibilidad al momento de ver un código, y no solo se vea que sí, hay identación de niveles pero pareciera que el código está alineado a la izquierda. Resumiendo un poco la técnico les muestro algunos ejemplos.
Teniendo el siguiente código de objetos JSON vemos que en principio no hay ningún problema aparente, pero no es así. Lo malo de esta estructura es que el parámetro de "name” está bien alineado pero no los siguientes. Se podría pensar que la mejor forma de representar este arreglo de objetos es desglosándolo en líneas, pero eso agrega muchísimas líneas de código que no ayudan a visualizar la información rápidamente. De lo que se trata la identación por columnas es alinear la información como si se tratasen de columnas dependiendo de los límites del contexto de la estructura del código. El ejemplo anterior quedaría así:
Mucho más fácil de leer, ¿no? Aunque personalmente creo que es una buena idea, lo malo de tener una estructura así podría ser el espacio extra que le estamos añadiendo al código, pero de que se ve mucho más fácil la información, no hay ninguna duda. De hecho, yo pensaría que es más que columnas una especie de formato de tabla con celdas y columnas, pero depende de la perspectiva que elijas. Vamos a ver otro ejemplo:
Este código es para crear una función y hacer la asocación como si tratara de un constructor. El principio es el mismo, parece que el código está super alineado a la izquierda, y dado que son repetidas las acciones línea tras líneas (asociaciones de valores) pues se puede moldear el código para obtener algo más estructurado:
El resultado de alinear la variable, el valor asignado y el punto y coma hacen que se note la diferencia en el orden del código. Ahora, si bien creo que es una buena práctica que podemos seguir, también es cierto que creo que este tipo de esquema solo funciona bien para estos dos tipos de código, es decir, estructuras de datos, y asignación de variables o declaración de las mismas, siempre y cuando haya muchas que hacer. Tener dos o tres variables la verdad no le agrega nada de visibilidad el usar ésta técnica, pero seis o más sí hacen la diferencia. Para el caso del código funciona bien por ejemplo cuando la función o constructor lo único que tiene que hacer es asociar, ya que si implementamos esto en una función diferente se va a ver desequilibrado que haya dos formatos de código, el de columnas y el tradicional, en donde no necesariamente podemos organizar el código así; ¿cómo alineas un condicional o un ciclo con esta estructura? no se puede.
Pero en fin, me gustó la idea porque hay situaciones donde necesitamos tener mayor legibilidad en el código, y si en un solo archivo tenemos muchísimas líneas de código, el espacio empieza a jugar un rol importante para poder entenderlo.