Monday, December 19, 2011

The Art of Readable Code by Dustin Boswell

The Art of Readable CodeThe Art of Readable Code by Dustin Boswell

My rating: 4 of 5 stars


In engineering, it is often easy to forget that as much as we deal with things that are determined and immutable laws of nature, while the subject we study may be science, our practice of it is an art. And to be good at an art, one needs to master the use of the tools, not only in the sense of understanding its instructions, but as a craftman. When I was just learning computer programming while in high school, I used to openly wonder about my teacher’s concern about aesthetics. But now, with a few more years, I recognize that viewing programming as an art and learning it as a craftsman, leads to better outcomes in programming of our models and algorithms. And The Art of Readable Code is about what it means to look at the writing of code as a craft, one to be mastered and where the doing is as important as the final product.



The first part of the book are the details that go into every line of code. Naming variables and functions, aesthetics (using whitespace and line lengths to make the code easier to understand), using comments frugally, simplifying the logic. I had one person working with me that refused my comments in this area. I somewhat think that part of the reason his time there was unproductive was that he would not take suggestions along these lines, and his implementation of algorithms was both hard to follow and I think contained errors.



The second part was on reorganizing the code. This is something that has relevance as part of what I do is develop new methodologies. But this development very frequently is in many stages. The section on one task at a time was particularly enlightening. I have long known of the idea that it is beneficial to make every function return one output only. But I have felt that only applied when I reached a point where the current progress in the method had a single output. The chapter here discusses organizing steps within the function so each section of the function did one thing only. And reading it, I can think of how that would have made the last paper I submitted to a journal much less painful to develop and maintain.



It is easy to pass over books that look at the art and craft of programming in favor of those that teach new skills or pass on new language or library features or techniques. But a book like The Art of Readable Code is one that will help through over the course of the career, part by part as you mature as a programmer and coder.



I received a free electronic copy of this book as part of the O'Reilly press Blogger program. More information on The Art of Readable Code can be found at the O'Reilly website.



View all my reviews

No comments: