This book describes disciplines and practices that every programmer should know in order to be productive and deliver good quality code and be proud of the end result. The examples are written in Java but as a C++ programmer this didn’t disturb me. There are three parts. It starts with disciplines, standards, and ethics.
The discipline part of the book starts with Test-Driven Development. How TDD works is shown in multiple videos in which you see it in action with some more explanation in the book. I liked this approach, it gives a better feeling for how TDD can work when you see the flow in the videos.
The different kinds of test doubles are described and what to use when. What I liked is that it also talks briefly about testing GUIs as in the workshops and conference sessions I’ve attended the answer was most of the time: that’s difficult, don’t do that. Also some more insights on test design, refactoring and simple design.
In the part about standards, the topics productivity, quality and courage are described. Part of that is honest estimates, saying no, continuous learning and mentoring.
The last part of the book is about ethics with as central point an oath. The oath has 10 points with topics like not producing harmful code, the code will always be the programmers best work, proof about the quality, frequent and small releases, always improve the code.
If you have been working as a programmer for years not everything will be new but I did find some food for thought and some refreshers that I could use directly. It is well written and easy to read and a good companion to the other books in the series.