Code simplicity

A review of Max Kanat-Alexander’s Code Simplicity book.

 

I’ve just finished the book Code Simplicity. It presents a framework for thinking about software development in the form of laws and rules. It’s short but comprehensive. From my experience, the laws and rules hold true. I think the book has value as an overall perspective of what’s important in software development, and there are some chapters that are really spot on: for example, the equation of software design – something that I’ve already included in my glossary and plan to expand.

Code Simplicity doesn’t intend to land the laws and rules to something actionable, though. I’m at a point in my career where I’m focused on consolidating and reflecting upon how to achieve simplicity in software design – that means that I crave for specifics so I can compare them with mine.

As a cross-recommendation, if you are interested in learning about the laws of software development in a manner that is actionable, I’d suggest reading the Beck’s trilogy: Extreme Programming Explained: Embrace Change, Test Driven Development: by example, and Implementation Patterns. Those three books make a great combination of macro-forces (at a project level) and micro-forces (at a coding level) in software design. They were fundamental in consolidating my experiences as a programmer, so I’m highly biased towards them.

Hat tip for the Code Simplicity recommendation: Nikolay.

6 thoughts on “Code simplicity”

    1. Did you get the chance to read Beck’s trilogy? I’m curious about your thoughts on those! I’ve read them years ago, so my memory may be a bit fuzzy, but I’d say that they cover the same area than Code Simplicity.

      1. I read only one of them like 10 years ago: Test Driven Development: By Example. I don’t recall it as exceptional, but it was very good reading. I would have to read it again to share my review 🙂 I enjoyed a lot Growing Object-Oriented Software, Guided by Tests which is in my opinion the best book that covers a practical approach to testing software and TDD in particular. So it’s very relevant to the one written by Beck.

        You can read also Understanding the Four Rules of Simple Design by Corey Haines, a co-founder and a facilitator of coderetreat workshops. It’s relatively short, but it greatly explains though process behind code refactoring. It shows you in how many ways developer can modify the same piece of software 🙂

        1. Haven’t read those, will take a look, thanks for the recommendations! “Implementation patterns” focuses more on the micro-forces in the software development (flow structure in your code base, variable names, etc); I feel like it’s under-rated and under-read.

          1. The one thing I love about Code Complete is the amount of cross-references. I’ve discovered Parnas papers thanks to them!

Leave a Reply