Functional Master Mind

Clean Code, Episode 54

By Robert C. Martin

67 minOct 2018

Do you remember Master Mind that clever board game from the '80s, with the colored pegs? We implemented a version of it back in Episode 9. Well, in this episode we're implementing it again, but in Clojure.

In this episode we're going to walk through the code for this program, one commit at a time. You'll see how I used TDD to develop it. You'll see the functional design. You'll be amazed that there are no assignment statements. You'll be astounded at the data-flow style. And, in the end, you'll know the best strategy for winning Master Mind and will be able to amaze your friends.

So hop on board and let's get this train moving; because we're about to immerse ourselves in functional programming, Clojure, and Master Mind .

The code in this video can be found on github here. Make sure you walk through all the commits in sequence. There is much to learn by watching the progress of development.