"Tidy First?" by Kent Beck
You need a few years of deep software development expertise, especially in a team and on several projects, before you can really appreciate the deep wisdom of the suggestions which Kent Beck shares in this book.
This post is part of my Book reviews series, where I share thoughts and impressions on the books I read.
"Tidy First? " is written by Kent Beck and published as the 1st edition in October 2023 by O'Reilly.
💡Topic
How to refactor, when and why.
As the Preface clearly lays it out, you will get the author's view on when to tidy messy code before changing what it computes, how to tidy messy code safely and efficiently, but also knowing how to stop tidying messy code.
📖Content
92 pages divided into 33 Chapters with some code examples and explanatory schemas.
👩💻🧑💻 Who is this book for?
Software developers of all experiences, who want to expand their knowledge with a very thought-through and cohesive framework for thinking about refactors.
👍Likes
The author is a titan in the field of software development methodologies, having created XP and then written the eponymous book "Extreme Programming" in 1999. You can definitely feel his experience in this book as well, and the decades of experience he has in writing software at scale in small and large teams.
What stood out for me above everything else was the author's ability to synthesize the abstract concepts of "refactorings" into a more manageable paradigm - that of "tidyings". Generally I'm not a big fan of inventing new words and concepts, but in this case it really is a step forward in making things both more concrete as well as more "manageable" mentally in terms of when and how to refactor code with a "tidy first" mindset.
Part II of the book, chapters 16 to 21, was a particularly interesting take on how to manage the process of tidying.
I've also really enjoyed the Part III - Theory, where the author goes into more detail on the key aspects of what makes software valuable: what it does today and the possibility of new things we can make it do tomorrow. The concepts he lays out in this part are very relevant, especially for senior developers, and they definitely helped expand the way I think about the value of software generally.
I realize I'm being particularly abstract in my review so far, and this is on purpose: this is a very small book that you can definitely read in a long evening, but packed with incredibly smart advice, views and thinking frameworks. It's something that must be experienced, and it's very hard in my view to describe and pick apart the concepts Kent exposes here without basically copy/pasting the book.
👎Dislikes
There's nothing really that I can critique about this book, the writing or the editorial quality.
It really is a fantastic little tome!
🚧 Improvements I would suggest
I would have really loved a longer book, but in today's attention span of people I think that Kent is onto something with his current approach of writing more, and smaller, books on very narrow topics.
🤔Final Thoughts
You need a few years of deep software development expertise, especially in a team and on several projects, before you can really appreciate the deep wisdom of the suggestions which Kent Beck shares in this book.
I found it to be an amazing take on how to think about, plan and control the refactors that you do (or don't do), either to your own code or to those of others.
Highly recommended, and I'm very much looking forward to the next books in this new series that Kent is teasing.