Join the CLUB (Coding Like Uncle Bob)

Today I thought of a solution to the wide-spread problem of programmers writing crappy code and causing problems with the delivery of low-quality software.

I call it joining the CLUB.

Here's how it works:

  1. Get yourself a copy of the book Clean Code, by Robert C. Martin;
  2. Read it and learn how to write clean, elegant, high-quality code;
  3. Tell everyone that from now on you will be Coding Like Unce Bob;
  4. Then choose one of the following two options:
  5. a. Buy a new copy of the book for a friend or a colleague;
    b. Or give your copy to a friend or a colleague
    (Note: don't lend him your copy! Buy it, or give it!)
  6. Make your friend/colleague promise to do exactly the same (starting with bullet point 1);
    (If your friend/colleague won't read it, take the book back, and give it to someone else.)
  7. If you have a little cash to spare, do the same thing again with a second friend/colleague.

If all works well (and depending on the percentage of people able to give away two books), then in a matter of just a few years, all programmers on this planet will be Coding Like Uncle Bob! And all the problems of shitty software will go away. At last. The world will be a better place. (And because users won't be so frustrated anymore, there might even be world peace…)

Cleancode It doesn't happen that often that I am enthusiastic about a book. But when it happens, I want to tell everyone all about it. Clean Code, by Robert C. Martin (aka Uncle Bob), is the most useful book I've read in a long while. It's full of great advice on formatting, naming, comments, functions, classes, error handling, concurrency, unit tests, and much more. It also has plenty of interesting acronyms like DIP (Dependency Inversion Principle), IoC (Inversion of Control), DRY (Don't Repeat Yourself), SRP (Single Responsibility Principle), SOLID, FIRST, TDD, and many more.

This is the book that new software developers should be required to read, before pushing their first lines of code into production.

One of the principles Bob Martin described is the Boy Scout Rule:

Leave the campground cleaner than you found it!

In software development this translates to:

We should all check-in our code a little cleaner than when we checked it out.

And we can translate this principle to global proportions:

Each of us must increase the number of people Coding Like Uncle Bob with at least one.

So, I bought Clean Code and I'm loving it.

I'm finally learning how to write good code.

From now on I will be Coding Like Uncle Bob.

I'm going to buy the book for another programmer.

I will see to it that he reads it and joins the CLUB as well.

And I might even do that twice.

A better world, with fewer crappy systems, has to start somewhere. So why not try and let it start here and now?

(image by karpov the wrecked train)

Twitter TwitterRss SubscribeEmail NewsletterDelicious Bookmarks

Latest, greatest and favoritest posts:
People Don't Listen
To See Is to Follow
The Decline and Fall of Agilists

  • Reading Books in a Parallel and Non-Sequential Way
  • Top 200 Development and Social Media Blogs (OPML)
Related Posts
free book
GET MY FREE BOOK!
“How to Change the World”
  • http://profile.typepad.com/tiagofernandez Tiago Fernandez

    Good idea, it made me remind of the movie Pay it Forward 🙂
    I’m also reading Clean Code and loving it. Great book indeed, it’s a must read!

  • http://devan.posterous.com Devan

    Jurgen, haven’t read this one, but how does it compare to ‘Code Complete’ by Stephen McConnell?

  • http://haxrchick.blogspot.com/ abby, the hacker chick blog

    well, my copy is signed by both Uncle Bob and James Coplien (who wrote the forward) so not giving it to anyone 😉 but I would GLADLY buy copies for others if I thought they’d read it and follow some of it’s advice.
    I was actually thinking it would make a fantastic set of coding guidelines for projects and thus should be purchased for all the developers on a team by the companies that employ them.
    BTW, for all those who like Uncle Bob’s ideas, also consider signing the Manifesto for Software Craftsmanship:
    http://manifesto.softwarecraftsmanship.org/

  • http://www.thehackerchickblog.com/ abby, the hacker chick blog

    @Devan,
    Clean Code is the new Code Complete 🙂

  • http://TheWiredGuy.com Sanil

    I’m also reading that book, and its blowing my mind since its “first” page.
    Thinking of completing it this month. Really a must to be a good programmer.
    one more thing: I Liked CLUB acronym 🙂

  • http://leedumond.com Lee Dumond

    Jurgen, surely you can’t be serious. Do you really think that “all the problems of shitty software” can be eliminated by applying the principles found in this (or any) book?
    Clean Code is a good read, but it ain’t the cure for cancer or anything. It is a concise, well-constructed presentation of software design principles, most of which existed long before Uncle Bob found them. Many of these priciples are interesting from an academic/theoretical point of view, but often impractical when applied to real-world LOB applications. For example, a faithul application of the SRP wil often result in dozens, sometimes hundreds, of tiny hard-to-maintain classes, and that doesn’t solve anything.
    I can show you many codebases which faithfully apply these principles, and yet are failures. Why? Because the software did not do what the customer wanted. At the end of the day, that is why shitty software exists, and no amount of “Coding Like Uncle Bob” is going to fix that.

  • Razvan

    Nice idea. The thing is though I read the book last year and I gave it to another colleague but he didn’t read it – I’m going to ask him to give it back 🙂

  • http://profile.typepad.com/jurgenappelo Jurgen Appelo

    Clean Code is just about code, but it goes deeper than Code Complete.
    Code Complete covers many non-coding topics, like requirements, design, maintenance, etc.

  • http://profile.typepad.com/jurgenappelo Jurgen Appelo

    Lee, yes I’m serious. I think it may be the cure to cancer. And HIV. And it boosted my relationship too. And it repaired my car.
    If, as you say, many of these principles are often impractical then a comparison of your LOB code with Uncle Bob’s LOB code would be very interesting and welcome.

  • Thiago

    Accepting donations…. =)
    send it to Brazil, Street… haha
    um… better buy it here and thnaks for advice. Just yesterday i was reading about clean code!!

  • http://leedumond.com Lee Dumond

    Look, Jurgen, nothing wrong with joining the C.L.U.B. I;ve been a member for a while myself. 😉
    I am all for the prudent application of Clean Code principles, if and when it makes sense to do so. But simply shoehorning every cool design pattern you can think of into your codebase doesn’t make it “good” software.
    If I ask you for a table and you make me a chair, that’s a fail. I don’t care if it’s the best-damn-crafted table on planet Earth, because it’s not what I asked for.
    And THAT right there is what is at the root of the bad-software issue — too much of it doesn’t address the problem it was intended to solve. And simply indoctrinating everyone in The Way of the Bob won’t solve that.

  • http://profile.typepad.com/jurgenappelo Jurgen Appelo

    Lee, I understand. Perhaps you’re taking my writing a bit too seriously.

  • http://leedumond.com Lee Dumond

    Yes, still trying to get the hang of your sense of humor. Please bear with me. 😉

  • Chirag Dadia

    Awesome idea. I read the book when it first came out. Adopted a few things to start, fell off the wagon a couple of times. Reading it again.
    Also bought a copy for a friend and he loves it..

How to Change the World - free Workout - free
CLOSE