"Solo hay dos cosas difíciles en Informática: invalidar la caché y nombrar las cosas"

-- ✍️ Phil Karlton

Esta cita parece una broma, pero no lo es. Primero respecto a la caché; todo el mundo sabe crear una. Pero invalidarla es casi un arte. ¿Con qué criterio? ¿uso reciente, peso, reutilización tiempo de cálculo, tase de refresco? Cada caso requiere atención especial.

Y poner nombre a las cosas (variables, funciones, clases, módulos y hasta programas) es igual de fácil. Lo realmente difícil es poner nombre significativos. De nuevo requiere de especial atención.

Pero recordemos que escribimos para otros humanos en un idioma sujeto a reglas sintácticas precisas. Entonces, ¿por qué no definir reglas de estilo y semánticas?

Al final cuando abres un libro, un periódico o una revista lo que esperas es poder entenderlo con el menor esfuerzo. Para ello los editores usan reglas para los tamaños de páginas, letras, márgenes y demás. Las aplican para todas las hojas y nuestros cerebros agradecen dicha homogeneidad.

El cerebro da un like a las repeticiones porque no le obligan a pensar. Vale para tamaños pero también para conceptos.

Usar nombres claros para expresar los mismos conceptos es el otro mantra para conseguir nuestro objetivo: claridad con el menor esfuerzo.

En los próximos temas estudiaremos detenidamente conceptos que permitan crear:

  • Código agradable de leer, incluso bonito y elegante.

  • Homogéneo, sin sobresaltos.

  • Que expresa claramente una intención.

  • Creando un idioma para nuestro negocio.

Te dejo con una reflexión que nos motiva a realizar este esfuerzo. La recompensa es clara porque dedicamos más tiempo a leer que a escribir. Así que ¡prestemos mayor atención a la escritura!

"El tiempo dedicado a la lectura es muy superior al dedicado a la escritura. Leemos código antiguo para escribir código nuevo. Facilitar la lectura es facilita la escritura."

-- ✍️ Robert C. Martin