#basics
Clean Code Developer Basics
Die Teilnehmer lernen die wichtigsten Clean Code Developer Prinzipien kennen und vertiefen diese durch Übungen.

- Dauer
- Schwierigkeit
- Vorkenntnisse
3 Tage
Anfänger
Umgang mit einem Test Framework
Das Seminar wendet sich an Softwareentwickler, die gerade beginnen, sich mit dem Thema Softwarequalität auseinanderzusetzen.
- Das Problem: steigender Aufwand
- Die Clean Code Developer Initiative
- Abhängigkeiten
- Integration Operation Segregation Principle (IOSP)
- Teststrategien
- Don’t Repeat Yourself (DRY)
- Single Responsibility Principle (SRP)
- SOLID
- KISS und YAGNI
- Agilität
- Iterative und inkrementelle Entwicklung

Lernziele
Die Teilnehmer erlernen in diesem Seminar die Clean Code Grundlagen. Unter anderem lernen sie die drei wichtigsten Clean Code Developer Prinzipien kennen:
- DRY – Don’t Repeat Yourself
- SRP – Single Responsibility Principle
- IOSP – Integration Operation Segregation Principle
Diese Prinzipien werden durch Übungen vertieft, weitere Prinzipien wie die SOLID Principles werden angesprochen.
Neben den Prinzipien der Softwareentwicklung geht es in diesem Seminar um das Schreiben von automatisierten Tests. Hier liegt der Fokus auf der Strategie des Testens.
Voraussetzungen
Die Teilnehmer müssen eine Programmiersprache flüssig verwenden können. Ferner müssen die Teilnehmer ein Testframework wie bsp. NUnit, JUnit o.ä. anwenden können. Weitere Details finden Sie hier. Sind Vorkenntnisse im Umgang mit einem Test Framework nicht vorhanden, bieten wir dazu ein Einführungsseminar an.
Inhalte
- Das Problem: exponentieller Anstieg des Aufwands
- Die Clean Code Developer Initiative
- Prinzipien und Praktiken
- Grade
- Werte
- Abhängigkeiten
- Typische Strukturen von Abhängigkeiten
- Herausforderungen und Konsequenzen
- Integration Operation Segregation Principle (IOSP)
- Principle of Mutual Oblivion (PoMO)
- Dependency Inversion Principle (DIP)
- Teststrategien
- Baumstruktur der Software
- Folgen des IOSP
- Testpyramide
- System-, Integrations-, Unit Test
- Kombinatorik
- Interface, Dependency Injection, Attrappe
- Don’t Repeat Yourself
- Gründe
- Strategien
- Single Responsibility Principle
- Was ist eine Verantwortlichkeit?
- SOLID
- Sinn und Unsinn von Akronymen
- Kritische Betrachtung der einzelnen Prinzipien
- KISS und YAGNI
- Abgrenzung
- Agilität
- Definition
- Abgrenzung zum Wasserfall
- Iterative und inkrementelle Entwicklung
- Begriffsdefinition
- Bedeutung für die Agilität
- Praktiken
- Versionskontrolle am Beispiel git
- Automatisierte Tests, Test-first
- Code Reviews
- Pfadfinderregel
- Tägliche Reflexion
“Stefan hat unser Team über ein Jahr in 10 Sessions als Coach begleitet. Mit Flow Design gab er uns eine Methode an die Hand, saubereren und wartbareren Code zu entwickeln und die Entwicklung eines Features im Team besser zu parallelisieren. Durch die Kombination von theoretischen Grundlagen, praktischen Übungen und Diskussionen anhand unserer realen Projekte, half er uns die Anforderungen an wartbaren Code besser zu verstehen und in der Praxis anzuwenden. Damit können wir in der COMPAREX AG noch besser auf Kundenwünsche eingehen und Software effizient in hoher Qualität entwickeln.“
Tino Schnerwitzki, Teamleiter Application DevelopmentCOMPAREX AG
“Früher hatten wir Schmerzen durch Legacy Code. Als Heilmittel fanden wir Clean Code und Stefan, der uns auf dem Weg zu erfolgreichen Clean Codern führte. Nun macht das Entwickeln einer modernen Microservice Architektur in einem DevOps Team richtig Spaß.”
Markus Rothhöft, Leiter SoftwareentwicklungM.S.E. GmbH
“Die Trainings bei Stefan Lieser sind fachlich fundiert und menschlich überaus angenehm. Er gibt seine tiefe Erfahrung kollegial und pointiert weiter, was das Lernen mit ihm ebenso effektiv wie inspirierend macht. Aus diesen Gründen wurden bereits über ein Dutzend unserer Mitarbeiter von Stefan geschult.“
Michael Speer, Vorstandgeneric.de software technologies AG
“Durch die Workshops mit Stefan haben wir eine neue Betrachtungsweise auf unseren Legacy Code gewonnen. Durch geeignete Methoden haben wir die Produktion von neuem Code in den Bereichen Entwurf, Programmierung und automatisiertes Testen optimieren können. Beim Legacy Code führt kontrolliertes und dosiertes Refactoring und das Stellen des Codes unter Test zu einer besseren Softwarequalität sowie schnelleren und damit kostengünstigeren Erweiterungsmöglichkeiten.”
Alexander Schmidt, Leiter der SoftwareentwicklungCompra GmbH
“Die iterative Durchführung des Workshops mit Stefan hat uns innerhalb eines halben Jahres bei der Befähigung zur Verbesserung der Codequalität stark vorangebracht. Schlüsselfaktoren waren für uns dabei: das iterative Vorgehen, die praktischen Übungen und die gemeinsamen Analysen der Einzellösungen, sowie die kleinen Arbeitsgruppen.”
Rainer Trunk, ProzessmanagerODS Marketing GmbH
“In den CCD-Workshops fordert Stefan uns heraus, Altbekanntes zu hinterfragen und neue Wege zu gehen. Bei den Workshops nimmt Stefan kein Blatt vor den Mund und holt uns immer wieder aus unserer Komfortzone heraus. Das regelmäßige Üben, das Stefan uns ans Herz gelegt hat, ist für uns zu einem wichtigen Bestandteil unserer Arbeit geworden.”
Klaus Stein, Manager verantwortlich für Aus- und WeiterbildungMitutoyo CTL Germany GmbH
“Durch das Clean-Code-Training mit Stefan erhielten wir viele Denkanstöße, unser bisheriges Vorgehen zu überdenken und aus einem anderen Blickwinkel zu sehen, was maßgebend dazu beigetragen hat unsere Code-Qualität sowie unseren Entwicklungsprozess zu verbessern. Die Erfolgsfaktoren sind sicherlich das über einen längeren Zeitraum aufgebaute iterative Trainingsmodell, sowie Stefans kompetente, kurzweilige, interessante, zielorientierte und situative Trainingsdurchführung.”
Gunter Ziesel, Teamleiter eCommerce EntwicklungWürth IT GmbH
Voriger
Nächster



