Clean Code Schulungen bei der clean code company

Individuelle Clean Code Schulungen für Ihr Team

Warum eine Clean Code Schulung?

Sie möchten die Zusammen­arbeit Ihres Teams optimieren

Jede Entwicklerin und jeder Ent­wickler geht Probleme anders an. Diese Unter­schiede können dazu führen, dass Ent­wickler­teams nicht rund arbeiten und es zu Miss­ver­ständnissen und Fehlern kommt. Clean Code bietet ein gemeinsames Verständnis der Software­entwicklung, das die Zusammen­arbeit im Team erleichtert.

Ihr Quellcode ist schwer lesbar und wartungs­intensiv

Historisch gewachsener Quell­code ist oft schwer lesbar – und noch schwerer zu verstehen. Code-Änderungen sind nur mit hohem Auf­wand möglich, neue Features kaum mehr abbildbar. Unsere Trainer schulen die Teil­nehmenden in der Entwurfs­methode Flow Design und geben wertvolle Tipps für Syntax und Semantik.

Ihr Quellcode hat eine zu geringe Test­abdeckung

Das Fehlen elementarer Unit Tests und Integrations­tests ist nicht nur ein großes Risiko, es hemmt auch die Entwickler:­innen bei der Arbeit, da sie kein Vertrauen mehr in den Code haben. In unseren Schulungen vermitteln wir die wichtigsten Konzepte, Techniken und Tech­nologien rund um auto­matisiertes Testing.

Clean Code Schulung bei generic.de – Ihre Vorteile

Clean Code Wissen und Erfahrungen aus der Praxis und aus realen Projekten  

Unsere Clean Development Trainer sind ausgebildet von Stefan Lieser, einem der Gründer der Clean Code Development Initiative

Wir stimmen unsere Schulungen individuell auf Ihren Wissenstand und auf Ihre Lernziele ab  

Hohe Flexibilität: Wann, wie lange, bei uns, bei Ihnen vor Ort oder remote – Sie bestimmen die Rahmenparameter

Über 10 Jahre Clean Code Development als Unternehmensgrundsatz

You not only teach Clean Code. You live it.
Markus Borer
Team Lead & Principal Software Engineer,
adesso Schweiz AG

Clean Code Schulungen im Detail

Die Lernziele

Aufbau eines gemeinsamen Verständnisses von Software­qualität
Einführung in die Clean Code Development Initiative
Praxisnahe Techniken, um von der Anforderung zum Quell­code zu gelangen (Flow Design)
Die wichtigsten Clean Code Development Prinzipien und Praktiken in Theorie und Praxis
Praxis­nahe Einführung in das Schreiben von Tests und Entwicklung komplexer Test­suites  
Vermittlung des Clean Code Mindsets hinsichtlich Zusammen­arbeit, Effizienz und Korrektheit

Unsere Clean Development Trainer

Felix Ruthenberg
Clean Development trainer
Code Checks sind ein sehr guter Einstieg, um herauszufinden, wo ein Unternehmen mit seiner Codebasis steht. Am Ende liegt die Wahrheit immer im Code.
Thomas Fröhle
Clean Development trainer
Konzentriert Euch auf das, was Ihr im Moment braucht und versucht nicht jetzt schon Probleme zu lösen, die irgendwann potenziell auftreten könnten.
Thomas Bittner
Clean Development trainer
Die heilige Dreifaltigkeit der Clean Code Prinzipien: „Don’t Repeat Yourself“, das „Single Responsibility Principle“ und das „Integration,Operation, Segregation Principle“.

Inhalte der Schulung

Wir passen unsere Schulungen individuell auf Ihre Wünsche, Lern­ziele und Ihren Wissens­stand an.
Unsere Trainer können Sie in folgenden Disziplinen und Inhalten unterstützen:

Softwarequalität

Software­qualität ist nicht gleich Software­qualität. Wir unterscheiden zwischen innerer und äußerer Qualität, wobei das Augen­merk unserer Schulungen auf der inneren Qualität liegt - also auf der Qualität des Quell­codes. Adressiert werden die Themen Lesbarkeit, Nach­voll­zieh­barkeit, Test­barkeit und Wandel­barkeit (Evolvier­barkeit).
Die Vorteile eines gemeinsamen Qualitäts­bewusstseins:

  • Optimale Grundlage der Zusammen­arbeit
  • Gesteigerte Sensibilität für ökonomische Zusammen­hänge
  • Besseres Verständnis der Folgen schlechter Code­qualität
Die Clean Code Development Initiative und das Werte­system

Die Clean Code Development Initiative gründet auf dem Buch Clean Code von Robert C. Martin. Darauf auf­bauend haben die zwei deutschen Ent­wickler Stefan Lieser und Ralf Westphal 2009 ein norm­­gebendes Werte­­system für Soft­ware­­ent­wickler konzipiert, das neben Lern­modulen auch eine Sammlung von Prinzipien und Praktiken beinhaltet. An oberster Stelle thronen die vier Clean Code Werte: 

  • Korrektheit
  • Wandelbarkeit
  • Produktionseffizienz
  • Kontinuierliche Verbesserung
Entwurfstechnik Flow Design

Flow Design ist eine Technik, um Quell­code sinnvoll zu planen und zu strukturieren - noch bevor er geschrieben wird. Dabei geht es immer um die Frage, wie man von einer Anforderung zum tatsächlichen Code gelangt. Die Technik arbeitet dabei mit hierarchischer Zer­legung der Anforderung auf ihre kleinsten Ein­heiten: Daten­flüsse.
Die Vorteile von Flow Design:

  • Quell­code kann bis ins Detail geplant werden, ohne das Big Picture aus den Augen zu verlieren
  • Das gesamte Team wird in den Software-Design­prozess involviert
  • Positive Auswirkungen auf Verantwortlich­keiten im Team und auf die Lesbarkeit des Codes
  • Ideale Vorlage für eine durch­dachte Test­suite
Automatisiertes Testing

Automatisierte Tests sorgen nicht nur dafür, dass der Quell­code korrekt arbeitet, sie sind auch ein gutes Mittel Anforderungen besser zu verstehen und zu definieren. Und sie sorgen für Vertrauen und Sicher­heit bei den Entwickler:­innen. Allerdings ist das Schreiben von Tests sowie komplexer Test­suites, bestehend aus System-, Integrations- und Unit Tests, ein Hand­werk für sich. Unsere Trainer vermitteln grund­legende Konzepte, Techniken und die nötigen Technologien.

Die wichtigsten Clean Code Prinzipien

Obwohl alle Clean Code Prinzipien ihre Daseins­berechtigung und Wichtig­keit haben, gibt es Prinzipien, die eigentlich immer angewendet werden sollten und damit auch wichtiger Teil unserer Schulungen sind: 

  • SRP - „Single Responsibility Principle“: Eine Methode oder eine Klasse sollte immer nur eine Funktion haben
  • DRY - „Don’t Repeat Yourself“: Duplikate im Code sind immer zu vermeiden
  • IOSP - „Integration,Operation, Segregation Principle“: Eine Applikation ist in Funktions­einheiten aufge­gliedert, die wie in einer Kette aufgerufen werden
  • YAGNI - „You Aint Gonna Need It“: Fokus auf die jetzigen, nicht auf zukünftige, potenzielle Probleme
Umgang mit Abhängigkeiten

Abhängigkeiten im Quellcode können dabei helfen Strukturen zu ver­ein­fachen. Zu viele Abhängig­keiten können jedoch dazu führen, dass Code-Änderungen mit unerwarteten Neben­wirkungen ein­her­gehen und der Code mit der Zeit un­über­sichtlich wird. In unseren Schulungen geben wir den Teil­nehmenden Techniken und Best Practices an die Hand, um Abhängigkeiten effektiv zu managen und wenn nötig aufzulösen.

Clean Code Mindset

Genauso wichtig, wie das Hand­werkliche, ist das richtige Mind­set. Dabei geht es darum, die Clean Code Werte immer wieder aufrecht zu erhalten und auf sie hin­zu­weisen. Die Inhalte werden dem­nach nicht in einer ab­ge­schlossene Session vermittelt, sondern parallel über die gesamte Schulung hinweg. Im Detail geht es um agiles Arbeiten, Effizienz durch Fokus, Reflexion, Ver­ant­wortlichkeiten, Erwartungs­haltungen und Zusammen­arbeit.

Praxisteil

Nur durchs Machen, lernt man Clean Code. Deshalb legen wir sehr großen Wert auf einen hohen Praxis­anteil in unseren Schulungen. Das sind einer­seits kleine Übungs­aufgaben, um ein theoretisch besprochenes Thema zu vertiefen. Anderer­seits sind es gemeinsame Code-Reviews, in denen die Ergebnisse der Übungs­aufgaben oder andere Code-Beispiele mit allen Teil­nehmenden im Detail besprochen werden.

Code Checks einer bestehenden Applikation

Code Checks einer bestehenden Applikation sind ein guter Einstieg, um herauszufinden, wo ein Team mit seiner Code­basis steht. Ähnlich wie in einem Code-Review wird der Code dabei durch unsere Trainer sowie den ursprünglichen Entwickler:innen analysiert. Durch solch eine reflexive Herangehensweise lernen die Teil­nehmenden viel über sich und ihre Vor­gehens­weise.

Der Clean Code Shop

Clean Code Armbänder, Übersichtsposter, Info-Flyer, Schreibblöcke u.v.m. In unserem Clean Code Shop finden Sie alles für den Clean Code Developer.

Individuelle Clean Code Schulung anfragen

Nehmen Sie Kontakt mit uns auf. Alles weitere klären wir im Anschluss.

Wenn Sie wissen möchten, welche Daten wir ver­ar­beiten und wie lange wir diese speichern, finden Sie weiter­führende Infor­mationen in unserer Daten­schutz­erklärung.
Ihre Daten werden verschlüsselt übertragen
Vielen Dank! Ihre Kontaktanfrage wurde von uns empfangen!
Oh nein! Irgendwas ist schiefgelaufen. Probieren Sie es bitte noch einmal!