I'm Loving It!
"Confidence comes not from always being right but from not fearing to be wrong."
--Peter T. Mcintyre
I wrote a very little code in the 1970s, got paid to write a little more in the 1980s, and have been writing code professionally, ever since 1990. I started with C++ -- self taught -- right when it came out in 1990. C++ was hard language to learn by myself, but I read Stroustrop, Eckel, Booch, Coplien, Meyers, Thielen and more, and these guys were pretty darn good teachers.
There are a lot of things I believe about good code that I adopted from my teachers or the hard way, by trial and error. Two of these things are: if code is well-written, elements are well-named, and methods are singular and small then comments are generally superfluous. A second is that well-named methods that are singular in nature and very short -- one or two lines of code -- are highly composable and very easy to debug. Many people have argued with me on this point over the years but most of these people spend a lot of time wrangling with code and debugging; I generally don't so have been satisfied with this posture.
Recently, I was asked to help cobble together a broad spectrum training plan for some mainframe to WinTel developers, and believing that reading should be a part of every such plan I picked some titles. I picked some standbys like Fowler's Refactoring and Design Patterns, but I also stumbled across Clean Code: A Handbook of Agile Software Craftsmanship by Robert C. Martin. The first selling point is that James O. Coplien wrote the forward. For me, that is a pretty strong endorsement.
I haven't finished it yet, but in Clean Code Martin makes a stand and sets forth what he believes the characteristics of clean code are. Martin does so unwaveringly and unapologetically. This book is long overdue. Martin doesn't need my endorsement about what constitutes clean code and what does not, but I am happy to have his.
Alas, if you don't know who Coplien, Martin, Stroustrop, Eckel, Booch, Fowler, or Meyers are then sadly you have not broken bread with arguably some of the brightest minds in our industry today.