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:
Get yourself a copy of the book Clean Code, by Robert C. Martin;
Read it and learn how to write clean, elegant, high-quality code;
Tell everyone that from now on you will be Coding Like Unce Bob;
Then choose one of the following two options:
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!)
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.)
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…)
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.