Goodreads helps you keep track of books you want to read.
Start by marking “Understanding the Four Rules of Simple Design” as Want to Read:
Understanding the Four Rules of Simple Design
Enlarge cover
Rate this book
Clear rating
Open Preview

Understanding the Four Rules of Simple Design

4.13  ·  Rating details ·  252 ratings  ·  36 reviews
Modern software development is a game of ever-increasing frequency of change. This is why it is imperative to build systems that are flexible and can adapt to changing requirements, both expected and (more often) unexpected. That is why I've written this book.

From 2009 to 2014, I traveled the world working with software developers, both individually and in teams, to improv
ebook, 83 pages
Published April 2014 (first published March 31st 2014)
More Details... Edit Details

Friend Reviews

To see what your friends thought of this book, please sign up.

Reader Q&A

To ask other readers questions about Understanding the Four Rules of Simple Design, please sign up.

Be the first to ask a question about Understanding the Four Rules of Simple Design

This book is not yet featured on Listopia. Add this book to your favorite list »

Community Reviews

Showing 1-30
Average rating 4.13  · 
Rating details
 ·  252 ratings  ·  36 reviews

More filters
Sort order
Start your review of Understanding the Four Rules of Simple Design
Domas Markevicius
Mar 09, 2017 rated it it was ok
It's a short and borderline obvious book, which focuses on micro-decisions. I'm not impressed: introductions, forewords and telling us how great this book will be takes about a third of it. Then we see three lines worth of code refactored ad nauseam (well, maybe not really, as book is short). Of course author's intention is to give us greater insight by using simple examples, but enlightenment evaded me. ...more
Oct 09, 2017 rated it really liked it
Kent Beck has four rules for rule design (1. passes tests, 2. reveals intention, 3. no duplication, 4. fewest elements). Corey Haines started code retreats, where a group of people get together and pair on implementing Conway's Game of Life. They're then give some constraints, change pairs, and start over on the same task.

In this short book he goes through some things he's learned about design as a result of seeing the patterns that have come out across many code retreats. This is followed by so
Apr 14, 2014 rated it really liked it
In „4 Rules of Simple Design“ Corey Haines uses Conway’s Game of Life to explain the main points you should follow to write maintainable software:
1. Tests Pass
2. Expresses Intent
3. No Duplication (DRY)
4. Small

The result of following those simple rules is code that can adapt to future change – without building all the possibilities in long before you need them. Reduced cost of maintenance is just one reason to follow those rules, more fun another.
For me Corey could have explained the rules with m
Christian Panadero
Sep 22, 2016 rated it it was amazing
I can't believe that I didn't read this book until today. A very comprehensive explanation of the 4 rules of simple design. Is incredible how in a little piece of code with a very simple domain we can think on a lot of things that could be improved just applying a fixed set of rules. This turns out how our profession is new and we are still learning how to craft better code. ...more
Ariejan de Vroom
Apr 25, 2014 rated it really liked it
Nice read. Pretty short, but very informative and insightful.
Bjoern Rochel
May 21, 2014 rated it really liked it
Shelves: 2014
Quick enjoyable read. Even in the smallest code pieces there's so much room for improvement, if only one cares about the story the code is telling ...more
Tjen Wellens
Nov 08, 2015 rated it it was amazing
I believe the lessons from this book will help me break through the plateau I've been stuck at (unconsciously) for a long while now. ...more
Apr 18, 2019 rated it really liked it
Shelves: 2019
Short read for those who are fascinated about OOP being ontology modeling tool. Shows different techniques how you can stretch your imagination and come up with alternative designs. Friendly reminder that OOP doesn't have to be about Services calling sequences of "load" and "save" on Repositories. ...more
Ian Gagorik
Dec 25, 2019 rated it it was amazing
I was asked to read this book, and was very surprised by it. Well thought out, easy to understand, and a quick read. If you write code, you should read this book. Very helpful. Only critique, I wish there was a print version I could put on the shelf.
Wolfram Kriesing
Great book! Short but explicit and precise. Must read!
Aug 12, 2019 rated it really liked it
A quick and easy read with some excellent points.
Theofanis Despoudis
Nov 08, 2019 rated it really liked it
The book is good but unfortunately is very short and soon becomes forgettable.
Dec 30, 2015 rated it liked it
At some point during his career, any developer reaches a plateau: he gets used to work and use specific tools and techniques that make his life easier. More often than not, anyway, there are better techniques that allow to get out of that comfort zone and stop up to the next level. Adapting can be hard, since it might require changing the way we think about a problem. While I don't remember taking any course on the subject at the University, there are, instead, many titles out there that cover t ...more
Ravi Sinha
Sep 14, 2014 rated it it was amazing
This book is great. It's a short and easy read. It starts off with the basics, talking about four rules of simple object oriented code design that form the basis of or lead directly to some of the fancier concepts in the realm, such as SOLID or Design Patterns. The basic premise is that your code will change according to your customer's whims, and yet you don't know how exactly it would change, so how do you write it such that it is as adaptable to unforeseen changes as possible. Although simple ...more
Mindaugas Mozūras
Dec 28, 2014 rated it liked it
In this book, Corey Haines uses Conway’s Game of Life as a basis for examples to explain 4 Rules of Simple Design. Those are:

* Tests Pass
* Express Intent
* No Duplication of knowledge
* Small

The rules themselves aren't new. Neither are any of the points Corey makes. They do work as good reminders though.

The book itself is well written and the examples provide insight. It's an easy read, but ends kind of abruptly. While I was aware of its length, I expected a bit more. Price to knowledge ratio can
Aug 24, 2015 rated it it was amazing
A short read (I blew through it in a single morning) that should be mandatory reading for anyone claiming to be serious about writing software. More accessible and readable than Clean Code: A Handbook of Agile Software Craftsmanship, more practical and applicable than The Pragmatic Programmer: From Journeyman to Master. ...more
Maurício Junior
Oct 09, 2017 rated it really liked it
It's a nice and short book to read about OOP, design and test-first methodology.

In this book Corey shows to us about 4 rules (Tests Pass, Expresses Intent, No Duplication (DRY), Small) to keep our software simple, maintainable and clean.
I believe that this book is a nice one for those that are starting to understand what is a good software that people can understand and what is a bad software that only machines can understand.

In the final pages of the book there are nice subjects to learn as SOL
Apr 11, 2014 rated it it was amazing
I would love to see more books like this one.

One note: as author mentioned "noticing coding patterns" it would be much better to have at least two or three examples per rule in different parts of GoL codebase so reader can start seeing these patterns as well.

Besides this it's a great book. Awesome job Corey! :)
Franck Chauvel
Jun 09, 2016 rated it liked it
Corey explains how four simple rules, initially summarised by K. Beck, makes design better. He shows how theses rules emerged tin the code retreats he facilitated. Although the book is short—more of a booklet—it distills a deep knowledge about coding as a though process, perfect to trigger and reflect on code katas, especially.
Sep 05, 2016 rated it really liked it
Very interesting thoughts about Four Rules of Simple Design based in Game of Life Kata.
I agree with most of the conclusions and the review of Simple Design Rules.
In my opinion, I see in the final examples, a little bit of 'magic' and some jumps in the flow we were following with the author.

It's a good booklet, you can read it very quickly and you give away very useful information.
Jan 27, 2015 rated it liked it
It's an small book which has a very clear examples of the four rules.
I'd understand the rule about minize duplication better thanks to this book.

All the examples are in Ruby but it's easy to read even when you don't know this language.
Nikolay Theosom
Jun 11, 2014 rated it it was amazing
a bit simplistic but a good reminder of good stuff
Sep 09, 2014 rated it really liked it
Succinct and insightful reading on simple [low-level] design. The book is easy to read and the author's writing style is engaging.

I found the book (88 pages) a bit pricey (18 USD) though.
Dragan Nanic
Nov 18, 2014 rated it really liked it
General blueprint of good programming.
Great read and examples - something to have nearby until it is completely absorbed.
Dec 17, 2014 rated it it was amazing
Shelves: favorites, learning
Awesome book, chock-full of good OO design tips. Recommended reading for anyone doing some serious programming!
Gurkan Oluc
Jan 28, 2015 rated it it was amazing
Short but intensive. Contains small essays about rules. Examples are helpful.
Apr 23, 2015 rated it it was amazing
Shelves: programming
A quick read - well worth it for anyone who strives to write clean, maintainable code.
Mohammad Mahmoud
Dec 08, 2015 rated it it was amazing
It's nice introduction to software design and it's very easy to read. although it's examples in Ruby but any developer can get the point of it easily.
Jan 17, 2016 rated it it was amazing
Really nice ideas and patterns related to Object Oriented Design. Too bad that it is so short.
This book is a 'must-read' for anyone who attended coderetreat.
Oct 10, 2016 rated it liked it
A great candidate to be an article on writing good software.
« previous 1 next »
There are no discussion topics on this book yet. Be the first to start one »

Readers also enjoyed

  • Grokking Algorithms An Illustrated Guide For Programmers and Other Curious People
  • 99 Bottles of OOP
  • The Software Craftsman: Professionalism, Pragmatism, Pride
  • Clean Code: A Handbook of Agile Software Craftsmanship
  • The Design of Everyday Things
  • Let's Talk Money
  • The Clean Coder: A Code of Conduct for Professional Programmers
  • The Pragmatic Programmer: From Journeyman to Master
  • Refactoring: Improving the Design of Existing Code
  • Practical Object Oriented Design in Ruby
  • The Unicorn Project
  • Ikigai: The Japanese Secret to a Long and Happy Life, The Little Book of Lykke, Lagom: The Swedish Art of Balanced Living
  • Maverick: The Success Story Behind the World's Most Unusual Workplace
  • Test-Driven Development: By Example
  • Software Architecture for Developers: Volume 1 - Technical leadership and the balance with agility
  • Software Architecture for Developers: Volume 2 - Visualise, document and explore your software architecture
  • Test-Driven iOS Development with Swift
  • Refactoring UI
See similar books…

Goodreads is hiring!

If you like books and love to build cool products, we may be looking for you.
Learn more »
Corey has been developing software professionally since 1995. Also spent the past 10 years, and the past 5 in particular, mentoring and training software developers around the world.

Related Articles

You’d never know it from reading the books listed here, but good science writing is incredibly difficult to pull off. There is both an art...
102 likes · 7 comments