Dando vueltas por ahí me encuentro con un divertido post en el blog de Alan Shalloway, en donde el autor desvaría brevemente sobre el problema de la redundancia en el código, llegando así a dos simpáticos postulados, nombrados en su propio honor. Veamos...
La ley de Shalloway
Cuando se necesitan cambiar N cosas y N>1, entonces Shalloway como máximo encontrará N-1 de esas cosas
El principio de Shalloway
Evitar las situaciones en donde aplica la Ley de Shalloway
¿Y cuáles son esas situaciones? En donde N > 1. En otras palabras, eviten la redundancia y disminuyan el acoplamiento entre los componentes. Que un cambio no implique tocar N lugares distintos, porque eventualmente entraremos en problemas. Y cuando no podamos evitar la redundancia, debemos al menos tener herramientas (pruebas por ejemplo) que nos indiquen de forma automática si estamos haciendo algo mal. Lo mejor es no tener redundancia, pero si la tenemos, debemos asegurarnos que la Ley de Shalloway no aplique.