Clean Code Development (CCD) is - in short words - a very good definition, what professional software development should be. The Clean Code Developer initiative describes a well selected set like SOLID principles, Keep it Simple, Test First. By applying these rules, you can really make sure, that spaghetti code, god classes and lying method names belong to the ancient past.

CCD is derived from ideas and books from Martin Fowler, Robert C. Martin (Uncle Bob), Kent Beck and many more. Over the last years, lots of bad styles were discovered. Reasons for bad code are very different. But the top three are:

  1. Deadlines (No time)
  2. Lack of knowledge
  3. No need for clean code

In my past projects I've seen lots of bad code. And true, there was also a time, where I didn't know the rules of professional software development. In that time I wrote lots of bad styled code. There's also the truth, that a lot of recent projects can state, they have clean code. More and more developers get interested in that topic, lots of managers too. Since some managers found out, they save time and money by going the clean code way, it became more popular. And in some companies even a law.

CCD is an aspect of quality. This quality aspect begins in every developers head. Devs have to accept, investing more time in coding is worth the time. This is the time, which is going to be saved at least 3 times (while bugfixing, QA, enhancements, new employee introduction into the code and many more). In depth, Clean Code is a lot more. It's a life insurance for refactoring, enhancements - because it unit tested with a great test coverage.

High quality within high performance teams is possible. Currently I'm passing the knowledge to individual developers or whole teams. Based on the Clean Code ideas Clean Code Training is a great fun. It remembers all participants what the roots of Clean Code are - it's fascinating, how much developers are interested in this topic. It leads to discussions with practical examples, how to solve a problem, how to introduce a principle or how to apply a practice.

In the end, it all starts with Clean Code thinking and proceeds with small steps. It is possible to achieve real clean code, to have no bugs and to provide features on time. It's a great achievement.