DuplicadoDando 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.

Inspiración.

"Si tú tienes una manzana y yo tengo una manzana e intercambiamos las manzanas, entonces tanto tú como yo seguiremos teniendo una manzana cada uno. Pero si tú tienes una idea y yo tengo una idea, e intercambiamos las ideas, entonces ambos tendremos dos ideas"

Bernard Shaw