Este libro de Corey Haines (LeanPub, $17.99) contiene una serie de ejemplos y consejos para mejorar el diseño de software, basados en las cuatro reglas del diseño simple de Kent Beck. Y también unas cuantas sugerencias para organizar un Code Retreat en torno al Juego de la Vida de Conway.
Haines propone varias reflexiones acerca de cómo representamos los distintos conceptos en el código. Es posible que algunas de ellas te vuelen un poco la cabeza, pero una vez que las entiendes es difícil volver atrás. Si vienes de un mundo de programación procedural, o de un entorno superficialmente orientado a objetos, las propuestas del libro elevarán la calidad de tu código.
Eso sí, no esperes una solución completa al problema del Juego de la Vida. Esto puede que te frustre un poco, pero no es el objetivo del libro.
¿Es conveniente haber intentado hacer el ejercicio antes de leer el libro? No necesariamente, pero si tienes familiaridad con el problema, es más fácil seguir los ejemplos y darles contexto. En mi caso lo he leído antes y después y he sacado ideas útiles ambas veces.
Rather than planning for change points, we build systems, by applying simple design principles, that can change easily at ANY point.