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

by
4.14  ·  Rating details ·  232 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
...more
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.14  · 
Rating details
 ·  232 ratings  ·  36 reviews


More filters
 | 
Sort order
Start your review of Understanding the Four Rules of Simple Design
Johnny
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
...more
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.
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.
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
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.
Neil
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
...more
Bugzmanov
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.
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!
Cedd
Aug 12, 2019 rated it really liked it
A quick and easy read with some excellent points.
Fanis
Nov 08, 2019 rated it really liked it
The book is good but unfortunately is very short and soon becomes forgettable.
Jascha
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 ...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
Angelo
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.
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
...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
...more
Toño De La Torre
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.
Vadim
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.
Enrique
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.
Keegan
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.
Jo
Dec 17, 2014 rated it it was amazing
Awesome book, chock-full of good OO design tips. Recommended reading for anyone doing some serious programming!
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.
Viktor
Oct 10, 2016 rated it liked it
A great candidate to be an article on writing good software.
Nikolay Theosom
Jun 11, 2014 rated it it was amazing
a bit simplistic but a good reminder of good stuff
Ivan
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.
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.
Gurkan Oluc
Jan 28, 2015 rated it it was amazing
Short but intensive. Contains small essays about rules. Examples are helpful.
« previous 1 next »
There are no discussion topics on this book yet. Be the first to start one »

Readers also enjoyed

  • The Software Craftsman: Professionalism, Pragmatism, Pride
  • Clean Code: A Handbook of Agile Software Craftsmanship
  • 99 Bottles of OOP
  • Practical Object Oriented Design in Ruby
  • The Nature of Software Development
  • The Pragmatic Programmer: From Journeyman to Master
  • Design Patterns: Elements of Reusable Object-Oriented Software
  • User Story Mapping: Discover the Whole Story, Build the Right Product
  • Grokking Algorithms An Illustrated Guide For Programmers and Other Curious People
  • Just Listen: Discover the Secret to Getting Through to Absolutely Anyone
  • The Mom Test: How to talk to customers & learn if your business is a good idea when everyone is lying to you
  • Head First Design Patterns
  • Refactoring: Improving the Design of Existing Code
  • The Effective Engineer: How to Leverage Your Efforts In Software Engineering to Make a Disproportionate and Meaningful Impact
  • It Doesn't Have to Be Crazy at Work
  • JavaScript: The Good Parts
  • Tribe of Mentors: Short Life Advice from the Best in the World
  • Maverick: The Success Story Behind the World's Most Unusual Workplace
See similar books…

Goodreads is hiring!

If you like books and love to build cool products, we may be looking for you.
Learn more »
35 followers
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.