This chapter will discuss how we can achieve a low semantic gap in the solution, thereby resulting in domain-rich code that communicates its intent clearly. We will see that dependencies must be semantically correct and only essential dependencies must be retained. We will also review some of the solutions available online to illustrate the fact that TDD does not magically result in good design. Developers are responsible for applying good design principles to create elegant and easy to understand solutions.
Problem Statement
Conway’s Game of Life (CGOL) is a cellular automaton devised by the British ...