Jens Oliver Meiert

Boyscout Code

Post from July 20, 2017 (↻ August 21, 2021), filed under .

Still evaluating and normalizing feedback for the great maintainability survey I’ve so far worked through a ton of excellent comments. All of it will, in a comprehensive fashion, make for a new, updated web maintainability guide, and yet one particular aspect resonated so well with me that I wish to call it out again specifically: the boyscout approach to code.

This approach resurfaced after one of our peers commented the following on “What techniques do you find useful to keep websites maintainable?”: “Refactoring every time you touch something and see potential for improvement.”

We’ve probably all been there at some point, when we saw something and fixed it (a googley principle), and so I instantly nodded, “yes, that’s a great habit.” It reminded of the boyscout credo, attributed to Robert Baden-Powell, to

Leave this world a little better than you found it.

or, more specifically,

Always leave the campground cleaner than you found it.

This does work so well for code that—formerly (though certainly not unsurprisingly) unbeknownst to me—it had long been quoted by Robert Martin in, exactly, The Boy Scout Rule:

Always check a module in cleaner than when you checked it out.

…which we could, and I’ve included this in my errata for The Little Book of Website Quality Control, rephrase to simply say:

Always leave code better than you found it.

This is not new, either, but it’s how I’d prefer to spell out the boyscout rule. Always leave code better than you found it.

As I said, there’s progress with the new, survey-inspired maintainability guide; stay tuned on Twitter or through one of this site’s feeds (subscribe just to my developer feed if the rest is not of interest to you).

Update (August 21, 2021)

I like John Ousterhout here, writing the following in A Philosophy of Software Design:

Whenever you modify any code, try to find a way to improve the system design at least a little bit in the process. If you’re not making the design better, you are probably making it worse.

This makes the boyscout rule imperative rather than “nice to have.” (It also asks for strategic and not tactical programming, but this is best explained in the book.)

Tweet this? (If it changed your life, you delight me with a coffee.)

About Me

Jens Oliver Meiert, on April 29, 2020.

I’m Jens Oliver Meiert, and I’m an engineering manager and author. I’ve worked as a technical lead for Google, I’m close to the W3C and the WHATWG, and I write and review books for O’Reilly. Other than that, I love trying things, sometimes including philosophy, art, and adventure. Here on meiert.com I share some of my views and experiences.

If you have questions or suggestions about what I write, please leave a comment (if available) or a message.

Read More

Have a look at the most popular posts, possibly including:

Looking for a way to comment? Comments have been disabled, unfortunately.

Cover: The Web Development Glossary.

Perhaps my most comprehensive book: The Web Development Glossary (2020). With explanations and definitions for literally thousands of terms from Web Development and related fields, building on Wikipedia as well as the MDN Web Docs. Available at Apple Books, Kobo, Google Play Books, and Leanpub.

Stay up-to-date? Follow me by feed or on Twitter.

Found a mistake? Email me, jens@meiert.com.

You are here: HomeArchive2017 → Boyscout Code

Last update: August 21, 2021

Professional frontend developers produce valid HTML and CSS.