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étodopublic
debe aparecer cerca de este métodopublic
.
- ✅ 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
ycomas
.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.
- Apóyate en el archivo
- ✅ 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.
- Colapsar todo en una línea con pequeños