CAPÍTULO 5: FORMATTING
David Enrique Ramírez Velásquez
Propósito
El formato del código es importante porque se trata de una buena comunicación
El código creado hoy probablemente cambiará mañana, el formato en él tiene un impacto enorme al momento de reescribirlo.
“ Tu estilo y disciplina sobreviven, incluso si tu código no”
Formato Vertical
Definitivamente es posible construir grandes sistemas con archivos pequeños, no más de 500 líneas. Los archivos pequeños son considerablemente más fáciles de leer que los archivos muy grandes.
La metáfora del periódico
En un artículo de un periódico podemos encontrar en el primer párrafo una sinopsis del resto del artículo, ocultando los detalles, diciendo lo importante, con el fin de que el lector continúe leyendo. Igual debe ser el código.
Al igual que en el periódico, los conceptos más importantes se dan al principio, en este caso, al principio de una clase debe ir la funcionalidad de la clase resumida en un orden de funciones, que serán detalladas más adelante. Esto se conoce como Ordenamiento Vertical.
Apertura Vertical Entre Conceptos
Apertura Vertical Entre Conceptos
Densidad Vertical
Agrupar líneas de código que estén relacionadas.
Distancia Vertical
Have you ever chased your tail through a class, hopping from one function to the next, scrolling up and down the source file, trying to divine how the functions relate and operate, only to get lost in a rat’s nest of confusion? …
Los conceptos que estás muy relacionados deben estar cerca entre si. Obviamente no aplica para conceptos separados en diferentes
archivos, pero debe haber una muy buena razón para separar estos conceptos en archivos aparte.
Declaración de Variables Las variables deben ser
declaradas lo más cerca posible a su uso.
Las variables que controlan ciclos deben ser declaradas en la sentencia misma del ciclo.
Declaración de Variables
En algunos raros casos es necesario declarar variables al principio de una función muy larga.
Instancia de Variables La instancia de las
variables globales deben ser al principio de la clase, esto no va en contra de la distancia vertical ya que en un código bien diseñado, estas variables son usadas por todas o casi todas las funciones de la clase.
Funciones Dependientes Si una función llama a otra, la función llamada debe estar debajo de
la función que la llama, esto permite que el lector pueda seguir fácilmente el flujo natural del código.
Funciones Dependientes
Formato Horizontal 40% entre 20 y 60 caracteres 30% menos de 10 caracteresDefinitivamente a los programadores nos gustan la líneas cortas. Lo ideal es que el lector NUNCA deba desplazarse hacia la derecha para leer una línea completa, aunque actualmente las pantallas son más anchas que hace unos años, la recomendación es no hacer líneas de mas de 120 caracteres.
Apertura y Densidad Horizontal
Espacios en blanco en las asignaciones Sin espacios entre el nombre de la función y
el paréntesis Espacios entre los parámetros de las
funciones
Las ecuaciones se leen fácilmente Espacios entre los operadores de
sumas y restas Espacios entre los operadores de
una división Sin espacios entre los operadores
de una multiplicación.
Alineación Horizontal
MALBIEN
Indentación El gran impacto de una correcta indentación:
Estos dos códigos son sintáctica y semánticamente iguales.
Indentación Las funciones, sentencias if y ciclos en una línea son poco
entendibles, deben ser indentados:
Mal
Bien
Indentación Los punto y coma al final de un ciclo while en una línea son difíciles
de ver y confunden al lector, como sugerencia, se debe poner el punto y coma en una línea independiente, así:
Reglas de Equipo
Todas las reglas de formato mostradas aquí son sugerencias para una correcta organización del código, sin embargo las reglas, cuando se trabaja en equipo, son definidas por el equipo en si, todos deben estar de acuerdo en una mismas reglas de formato, ya que el código debe ser consistente.