Cuando hablamos de crear software "mantenible" o "sostenible", una de las partes clave involucrada en lograrlo es el Principio de la Mínima Sorpresa (POLA, por sus siglas en inglés).
Suena elegante, pero es muy simple.
El código se lee muchas más veces de las que se escribe. Esto significa que si los desarrolladores de software van a pasar mucho tiempo leyendo código, debería ser fácil de leer, ¿no?
Bueno, ahí es donde este principio entra en juego.
Uno de los rasgos del código que es fácil de leer es que si algún archivo, clase, método o cualquier otro artefacto tiene un nombre que dice "Hago esto", entonces esperas que haga tal cosa porque... ¿por qué no lo haría?
Cuando esperas una cosa y ves otra, te sorprende. Las sorpresas pueden ser agradables en la vida, pero cuando se trata de software, no lo son.
No solo se trata de nombres engañosos. Se trata también de inconsistencias. Por ejemplo, si ves que en el módulo A la estructura de carpetas es una y en el módulo B encuentras una diferente, de nuevo, te sorprende.
Entonces, este principio simplemente dice: "Haz lo que esperarías encontrar. Haz lo que tiene sentido. Crea código tan aburrido que no haya sorpresas y cualquiera pueda entender qué está pasando sin pensar que no son suficientemente inteligentes".
Código aburrido es código predecible. Código predecible es confiable.
Si estás buscando diversión y sorpresas, puedes tirarte de paracaídas o intentar cualquiera de las actividades que usualmente disfruta la gente a la que le encantan las emociones fuertes.
¿Pero el software? No es como que la gente diga, "Hoy quiero hacer algo riesgoso. Vamos a crear deuda técnica". Bueno, al menos espero que no lo hagan.
La próxima vez que abordes un problema, da un paso atrás y piensa en cómo esperarías que las cosas funcionaran si fueras una persona ajena. Ese es el corazón de POLA.