Book Review – Tidy FIrst?

Why did I Buy It?

Kent Beck is a pioneer in the field so it was kind of a no-brainer to pick up. I definitely didn’t want to be in the group of people that wasn’t aware of this book. 

Just from the title I could tell there was going to be extremely practical lessons described in this book. While books on architecture and design patterns can be super interesting, for a lot of us their theories will always stay… well theories.

Summary

“Tidy First?” provides straightforward guidance on improving code quality which helps in building and maintaining efficient, robust, and reliable software. Short chapters on one very specific topic with succinct code examples.

Tidy First (O’Reilly)

chapters

Part I. Tidyings

  1. Guard Clauses
  2. Dead Code
  3. Normalize Symmetries
  4. New Interface, Old Implementation
  5. Reading Order
  6. Cohesion Order
  7. Move Declaration And Initialization Together
  8. Explaining Variables
  9. Explaining Constants
  10. Explicit Parameters
  11. Chunk Statements
  12. Extract Helper
  13. One Pile
  14. Explaining Comments
  15. Delete Redundant Comments

Part II. Managing

  1. Separate Tidying
  2. Chaining
  3. Batch Sizes
  4. Rhythm
  5. Getting Untangled
  6. First, After, Later, Never

Part III. Theory

  1. Beneficially Relating Elements
  2. Structure and Behavior
  3. Economics: Time Value and Optionality
  4. A Dollar Today > A Dollar Tomorrow
  5. Options
  6. Options Versus Cash Flows
  7. Reversible Structure Changes
  8. Coupling
  9. Constantine’s Equivalence
  10. Coupling Versus Decoupling
  11. Cohesion
  12. Conclusion

Honestly, you can take Part I, jump into any code base and start to make low-risk improvements very quickly. ”Dead code”, “Reading Order”, “Explaining Variables”, etc. all very low handing fruit. Which is awesome.

As the book continues on the changes grow into higher impact and higher effort and/or risk. All of these are really wonderful topics and extremely important. Their value to you and your current project(s) really depend on:

  • the stage you company is at
  • the size of your company
  • the business needs

It is always important to remember with any software book like this that you need to take this information and consider your specific business requirements. There is a time and a place for everything. The senior developer creed of “…it depends…” is so famous (infamous?) for a reason. This is only one of the levers you have to adjust over the life of your project.

Was it Worth the Money?

Yes???

When I bought this book it was pretty expensive, $40 new. There is no two way’s about it, it is a short read. A lot of chapters are one page. A lot of chapters are just a few sentences. There is no fluff and the advice on “tidying” is extremely pragmatic. 

With that said honestly $20 would have seemed more appropriate. I absolutely will return to this book many times to remind my self of the concepts. But still 125 pages for the price is a bit crazy. I would keep an eye out for a used copy and pick that up instead.

Rating

4.5/5

I think that this would have benefited from more code examples. If you are senior I don’t think you will have any problem understanding the different topics, as you have come across them in a real-world setting. If a reader was more green though a think more in depth examples would have really helped.

Leave a comment

I’m Doug

I am a full stack software developer with experience that ranges from design to managing a team of developers, and everything in between. I have over 20 years of experience using the best open source software to help build startups.

I got my first exit at Payzer (Helping Contractors Grow With Software + Support) writing the first lines of code on the flagship product Payzerware.

I also got my first experience of the auto industry at CarBuckets.

Right now I’m a software developer at the awesome Equity Shift (Modern digital infrastructure for private markets.)

Thanks for stopping by my site.

Let’s connect