Robert C. Martin — Clean Code

A few weeks ago, I borrowed a copy of Clean Code: A Handbook of Agile Software Craftsmanship from a coworker. I’m still working through it, but I can already recommend it.

Robert Martin gets to the heart of one of the most important issues facing software engineers: keeping code clean, readable, and maintainable. Too many developers and even whole teams get into a loop of “get it working, and get it out the door” with no time or effort devoted to really thinking about the structure of their code and how it will impact future development.

This leads to a steady decrease in programming efficiency and an increase in how long features take to implement. As the source code becomes more and more cluttered, as things become harder to find or harder to understand, the difficulty in adding new code becomes more pronounced, until even simple features take surprisingly long to complete.

The Purpose of Formatting

First of all, let’s be clear. Code formatting is important. It is too important to ignore and it is too important to treat religiously. Code formatting is about communication, and communication is the professional developer’s first order of business.

Perhaps you thought that “getting it working” was the first order of business for a professional developer. I hope by now, however, that this book has disabused you of that idea. The functionality that you create today has a good chance of changing in the next release, but the readability of your code will have a profound effect on all the changes that will ever be made. The coding style and readability set precedents that continue to affect maintainability and extensibility long after the original code has been changed beyond recognition. Your style and discipline survives, even though your code does not.

I really do think every developer should read this book. I hope I can help convince the rest of my coworkers to do so when I’ve finished it.

Bookmark the permalink. Follow any comments here with the RSS feed for this post. Post a comment or leave a trackback: Trackback URL.

Post a Comment

Your email is never published nor shared. Required fields are marked *

*
*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>