Dear community, just a few days ago, there was an interview with Robert C. Martin, better known as “Uncle Bob”, published on heise Developer. Unfortunately, only in German. Because I found the interview interesting and the ABAP Clean Code style guide was recently released, here is a small summary of some key topics in English. Have fun while reading 🙂
The headline could be translated as “Nothing happens in today’s society without software”. Uncle Bob was asked when source code is “Clean Code”. His answer: If the source code was created with care – this means making the source code as understandable, readable and changeable as possible.
For a good reason. The link follows with the topic “Refactoring“: Today we have more source code on which our society depends. Uncle Bob uses some examples to show how people, even their lives, are dependent on software. And today’s software can already be the legacy code of tomorrow. In his guess this will be the case for 80% of the current source code. Therefore refactoring is an important topic.
Afterwards the topic “Test-driven Development” (TDD) was discussed in the interview. The question was how developers make their first steps with test-driven development. His answer: “Very carefully! It’s a skill, not just a set of rules. You have to practice TDD and learn properly before you can work with it seriously.” For this reason he gives the hint to use “safe ways” to practice TDD: Lunch-and-Learn-Events, Coding-Dojos and weekend training.
The next question was whether Clean Code made comments unnecessary. He talked about his rule of using comments: “You write a comment if you are unable to express yourself clearly about the code. You should always try as a first option to write meaningful code. Comments are the last option. In that sense, comments are always a sign of failure and should be seen as such.“
And then came a quite interesting question: “Is Clean Code easier or harder to enforce in the open source community than in companies?” He states that the open source community consists of committers and contributors. The contributors develop source code for a project and the committers determine if the source code is ok for the project. In his opinion, this is a powerful control process that should be used by companies. Experienced developers should have the role of the committers. Thus software development standards could be better enforced there too.
The next big part of the interview is about the origins of the “Agile Manifesto“.
Finally, he was asked about recommendations for developers. Here is a summary:
- Developers should learn how to write code, write tests, and how to make refactorings.
- Developers should learn to read intensively and learn. It’s not just about programming languages, it’s also about the story behind it.
- Developers should learn to convey their thoughts and ideas by writing essays, editorials, and blogs.
- Developers should learn diligence and recognize what things they should take important. It’s not just the technical quality of their source code, but also the business environment and context.
And here’s one last statement:
“Their most important task is to write code that other programmers understand. Many think that the most important thing is that their code is running, but it is more important that other developers can keep their code running.”
At this point, my thanks go to the heise Developer Team that published this interview. So you get a glimpse into the thoughts of Uncle Bob and everyone can make his own thoughts.
At the end a few words about this blog: The translation into English was unfortunately not always easy. If I have forgotten important aspects of the interview, please add them in comments. I also tried not to mention my own opinion about the topics of the interview on this blog. This is in my view something for another blog.
Best regards and thank your for reading