Talk to an Instructor:
Jonas Felix
A two or three day workshop focusing on writing readable, comprehensible code. Learn to identify poor code and improve it gradually through targeted refactoring. The course combines solid theory with numerous practical exercises, enabling you to immediately apply your new knowledge in your daily work. (Language specific courses: Clean Code C# , TypeScript Clean Code , Clean Code Java )
We are happy to conduct tailored courses for your team - on-site, remotely or in our course rooms.
Clean and efficient code enables continuous adaptation of software to new needs. Most developers fundamentally know how clean code should look like but often lack the knowledge of how to specifically and systematically detect and improve poor code.
The workshop includes the following topics:
– Introduction to Clean Code
... - Why is Clean Code important?
... - How not to fall into the perfectionism trap
... - The economics of clean code
– Effective Naming and Abstraction
... - The art of naming variables, methods, and classes
... - Finding meaningful and precise names
... - Identifying the right level of abstraction
– Clean Code Principles
... - SOLID principles to improve code structure
... - DRY (Don't Repeat Yourself) vs. WET (Write Everything Twice)
... - KISS (Keep It Simple, Stupid) and YAGNI (You Aren't Gonna Need It)
... - Composition over Inheritance
... - Integration Operation Segregation Principle (IOSP)
... - Law of Demeter
– Recognizing and Naming Code Smells
... - Identifying common anti-patterns
... - Long Methods, Large Classes, Feature Envy
... - Primitive Obsession and Data Clumps
... - Shotgun Surgery and Divergent Change
– Refactoring Strategies and Tactics
... - How to improve existing code without changing its functionality
... - Using automated refactorings in the IDE
... - Boy Scout Rule and continuous improvement
... - Safe refactoring techniques
– Testing & Code Quality
... - Unit testing principles
... - Meaningful tests vs. mere coverage
... - Test Driven Development (TDD) basics
... - Using mocks and fakes effectively
– Design Patterns
... - Key design patterns and when to use them
... - Avoiding over-engineering
... - Practical application of selected patterns
– Error Handling and Resilience
... - Exception handling strategies
... - Fail-fast principle
... - Robust error handling
– Modularization and Architecture
... - Project structure and dependency management
... - Separation of Concerns
... - Clean Architecture basics
... - Ports & Adapters
– Working with Legacy Code
... - Characterization tests for existing code
... - Strangler pattern for gradual migration
... - Code Archaeology
– Code Reviews and Team Practices
... - Best practices for effective code reviews
... - Giving and receiving constructive feedback
... - Establishing continuous improvement
You will not only get to know these concepts but also apply them practically.
Disclaimer: The actual course content may vary from the above, depending on the trainer, implementation, duration and constellation of participants.
Whether we call it training, course, workshop or seminar, we want to pick up participants at their point and equip them with the necessary practical knowledge so that they can apply the technology directly after the training and deepen it independently.
The goal of the workshop is to provide participants with a comprehensive understanding of Clean Code. They will learn to systematically detect poor code, improve it through targeted refactoring, and write maintainable, extensible software. After the course, they will be able to view code from other developers' perspectives and sustainably improve its quality.
2 Days (Is individually adapted for in-house courses.)
The course consists of a mix of practical exercises, interactive discussions, and collaborative work. Participants will work on tasks in their own IDE to facilitate the transfer of learning to their daily work.
Software engineers with practical experience in developing with object-oriented languages. The course is suitable for developers of all experience levels who want to systematically improve their code quality.
Basic knowledge of a common OOP programming language, IDE, and established unit-testing framework is expected.
Participants will receive a questionnaire and installation guide to set up their own IDE and necessary tools on their laptop. Based on their responses, they will receive individual feedback to be best prepared for the course.
Thank you for your request, we will get back to you as soon as possible.
Unexpected error - please contact us by E-Mail or Phone.
Sign up for the waiting list for more public course dates. Once we have enough people on the waiting list, we will determine a date that suits everyone as much as possible and schedule a new session. If you want to participate directly with two colleagues, we can even plan a public course specifically for you.
Thank you for your request, we will get back to you as soon as possible.
Unexpected error - please contact us by E-Mail or Phone.
The term "Clean Code" was popularized by Robert C. Martin (Uncle Bob), who published the book of the same name in 2008. The principles are based on decades of software development and were shaped by pioneers like Kent Beck, Martin Fowler, Ward Cunningham, and others.
The movement has its roots in agile software development and the principles of Extreme Programming. Concepts like the Boy Scout Rule ("Leave the code cleaner than you found it") and Broken Window Theory were integrated into the Clean Code philosophy.
Today, Clean Code is a recognized standard in professional software development and is practiced worldwide in companies and open-source projects.
Talk to an Instructor:
Jonas Felix
Training-Centers:
Basel:
- Aeschenplatz 6, 4052 Basel
Zurich:
- HWZ, Lagerstrasse 5, 8004 Zürich
Company address:
felixideas GmbH
Baslerstrasse 5a
4102 Binningen