Clean Code - Parte 3

Clean Code - Parte 3

Acerca de cómo formateamos nuestros archivos

·

2 min read

Seguimos con el análisis al libro Clean Code, esta vez hablamos sobre el formato de un archivo.

Recomendaciones

  • ✅ El largo de un archivo debe idealmente estar entre 200 y 500 líneas de longitud.
  • ✅ Debemos apoyarnos en la metáfora del periódico para nuestros archivos.
    • El nombre debe ser simple pero explicativo. (Como el titular de un reportaje)
    • En la parte superior de nuestro archivo deben ir los conceptos de más alto nivel y sus algoritmos (por ejemplo, public methods, como una introducción del artículo)
      • Deberíamos ser capaces de entender qué hace una clase, mirando las primeras porciones de la clase.
      • Deberíamos ver cómo lo hace, mientras bajamos en el código.
    • Los detalles deberían irse incrementando mientras más bajamos, por ejemplo, comenzando a ver los private methods.
    • La regla general de ordenar los métodos es:
      • public
      • protected
      • private
  • ✅ Las variables deben ser declaradas tan cerca como sea posible según su uso.
  • ✅ Las variables de instancia deberían ser declaradas al inicio de la clase.
  • ✅ Si una función llama a otra, deben estar verticalmente cercanas.
    • El que llama, sobre el llamado.
    • El método private que es llamado desde un método public debe aparecer cerca de este método public.
  • ✅ Mantener densidad vertical en el código.
    • Cada línea representa una expresión o una cláusula, y cada grupo de líneas representan una idea completa. Estas ideas deben estar separadas por una línea en blanco.
    • Mientras más cerca (verticalmente hablando ↕) se encuentre una línea de otra, mayor es su relación con la idea en común.
  • ✅ El código que tenga una afinidad conceptual fuerte, deben estar menos separados verticalmente entre ellos. Por ejemplo:
public static void assertTrue(boolean condition) {
   assertThat(condition).isTrue();
}
// No colocar una función aquí... 
public static void assertFalse(boolean condition) {
   assertThat(condition).isFalse()
}
  • ✅ Las líneas no deberían tener más de 120 caracteres. Fíjate en tu IDE en este momento, la mayoría ya muestra una línea casi imperceptible en ese lugar.
  • ✅ Utiliza espacios entre operadores, parámetros y comas.
    • String[] args = new String["aqui", "hay", "espacios", "entre", "comas"];
  • ✅ Utiliza un formato consistente en el equipo.
    • Apóyate en el archivo .editorconfig o similares, apóyate en "embellecedores" de código.
  • ✅ Sangrías.
    • Colapsar todo en una línea con pequeños ifs, loops, functions no es una buena idea.
    • Incluso para ifs de una línea, whiles de una línea, expándelos a más de una y agrega sangría. Sin miedo, nadie nos cobra por líneas extras en nuestro código.