I found this book to be a great refresher on writing clean code. By clean code, I don’t mean code that has good “style”, such as indentations and comments. The essence of being a good programmer is splitting a problem into clean abstractions. This book advocates writing extremely short functions and classes, each with one specific purpose. While some may argue that increasing the number of functions or classes also increases the complexity of the program, Robert Martin simply views this plethora of functions as exposing the true complexity of the problem. I tend to agree with him.