I Principios

Los principios de diseño de software son guías, no mandamientos. Nos ayudan a tomar decisiones y tener conversaciones sobre si un software está bien escrito o no. Nos proporcionan criterios para juzgarlo, aunque están claramente abiertos a interpretación y ciertamente hay que tener en cuenta el contexto en que se aplican.

Ocasionalmente, pueden entrar en conflicto. Con frecuencia encontrarás que hay que buscar un equilibrio entre varios de estos principios. Sin embargo, es más habitual aún que colaboren unos con otros de tal modo que respetar uno de estos principios tiene como consecuencia que reforzamos el que se cumplan otros.

Por otro lado, es importante recordar que muchas veces estos principios no se refieren a líneas de código concretas, sino al conocimiento que estas representan. Intentar aplicarlos a la literalidad del código puede llevarnos a diseños extremadamente complejos que intentan solucionar problemas que no existen.

Es un poco como el Código de los Piratas: más bien son unas directrices...

Además, en esta parte veremos que hay vida más allá de los principios SOLID. En serio. Por supuesto, hablamos de ellos, pero también de otros que, o bien los completan, o bien son sus antecedentes.

SOLID es un acrónimo afortunado, muy fácil de recordar y hasta significativo: el software escrito tratando de respetar SOLID parece robusto, confiable y sólido. Y, de hecho, lo es.

Aunque debe su difusión a las publicaciones de Robert C. Martin, aunque es posible que la primera persona que empezó a usar la expresión fuese Michael Feathers.