adesso Schweiz AG
Jede Entwicklerin und jeder Entwickler geht Probleme anders an. Diese Unterschiede können dazu führen, dass Entwicklerteams nicht rund arbeiten und es zu Missverständnissen und Fehlern kommt. Clean Code bietet ein gemeinsames Verständnis der Softwareentwicklung, das die Zusammenarbeit im Team erleichtert.
Historisch gewachsener Quellcode ist oft schwer lesbar – und noch schwerer zu verstehen. Code-Änderungen sind nur mit hohem Aufwand möglich, neue Features kaum mehr abbildbar. Unsere Trainer schulen die Teilnehmenden in der Entwurfsmethode Flow Design und geben wertvolle Tipps für Syntax und Semantik.
Das Fehlen elementarer Unit Tests und Integrationstests 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 Technologien rund um automatisiertes Testing.
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
Wir passen unsere Schulungen individuell auf Ihre Wünsche, Lernziele und Ihren Wissensstand an.
Unsere Trainer können Sie in folgenden Disziplinen und Inhalten unterstützen:
Softwarequalität ist nicht gleich Softwarequalität. Wir unterscheiden zwischen innerer und äußerer Qualität, wobei das Augenmerk unserer Schulungen auf der inneren Qualität liegt - also auf der Qualität des Quellcodes. Adressiert werden die Themen Lesbarkeit, Nachvollziehbarkeit, Testbarkeit und Wandelbarkeit (Evolvierbarkeit).
Die Vorteile eines gemeinsamen Qualitätsbewusstseins:
Die Clean Code Development Initiative gründet auf dem Buch Clean Code von Robert C. Martin. Darauf aufbauend haben die zwei deutschen Entwickler Stefan Lieser und Ralf Westphal 2009 ein normgebendes Wertesystem für Softwareentwickler konzipiert, das neben Lernmodulen auch eine Sammlung von Prinzipien und Praktiken beinhaltet. An oberster Stelle thronen die vier Clean Code Werte:
Flow Design ist eine Technik, um Quellcode 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 Zerlegung der Anforderung auf ihre kleinsten Einheiten: Datenflüsse.
Die Vorteile von Flow Design:
Automatisierte Tests sorgen nicht nur dafür, dass der Quellcode korrekt arbeitet, sie sind auch ein gutes Mittel Anforderungen besser zu verstehen und zu definieren. Und sie sorgen für Vertrauen und Sicherheit bei den Entwickler:innen. Allerdings ist das Schreiben von Tests sowie komplexer Testsuites, bestehend aus System-, Integrations- und Unit Tests, ein Handwerk für sich. Unsere Trainer vermitteln grundlegende Konzepte, Techniken und die nötigen Technologien.
Obwohl alle Clean Code Prinzipien ihre Daseinsberechtigung und Wichtigkeit haben, gibt es Prinzipien, die eigentlich immer angewendet werden sollten und damit auch wichtiger Teil unserer Schulungen sind:
Abhängigkeiten im Quellcode können dabei helfen Strukturen zu vereinfachen. Zu viele Abhängigkeiten können jedoch dazu führen, dass Code-Änderungen mit unerwarteten Nebenwirkungen einhergehen und der Code mit der Zeit unübersichtlich wird. In unseren Schulungen geben wir den Teilnehmenden Techniken und Best Practices an die Hand, um Abhängigkeiten effektiv zu managen und wenn nötig aufzulösen.
Genauso wichtig, wie das Handwerkliche, ist das richtige Mindset. Dabei geht es darum, die Clean Code Werte immer wieder aufrecht zu erhalten und auf sie hinzuweisen. Die Inhalte werden demnach nicht in einer abgeschlossene Session vermittelt, sondern parallel über die gesamte Schulung hinweg. Im Detail geht es um agiles Arbeiten, Effizienz durch Fokus, Reflexion, Verantwortlichkeiten, Erwartungshaltungen und Zusammenarbeit.
Nur durchs Machen, lernt man Clean Code. Deshalb legen wir sehr großen Wert auf einen hohen Praxisanteil in unseren Schulungen. Das sind einerseits kleine Übungsaufgaben, um ein theoretisch besprochenes Thema zu vertiefen. Andererseits sind es gemeinsame Code-Reviews, in denen die Ergebnisse der Übungsaufgaben oder andere Code-Beispiele mit allen Teilnehmenden im Detail besprochen werden.
Code Checks einer bestehenden Applikation sind ein guter Einstieg, um herauszufinden, wo ein Team mit seiner Codebasis 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 Teilnehmenden viel über sich und ihre Vorgehensweise.