Clean Code - Capítulo 5 formatting

Preview:

Citation preview

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.