Clean Code
Programmcode ist die Grundlage unserer Arbeit. Nur wenn der Quelltext sauber ist, bleibt er dauerhaft verständlich und kann weiterentwickelt werden. Deshalb haben wir uns den "Clean Code"-Tugenden verschrieben.
Clean Code basiert auf folgenden Grundwerten
- Evolvierbarkeit (Möglichkeit, ein System mit vertretbarem Aufwand weiterzuentwickeln)
- Korrektheit
- Produktionseffizienz
- Reflexion der eigenen Arbeit

© Gunnar Assmy / Fotolia.com
Tugenden
Um diese Grundwerte zu erreichen, gibt es eine Reihe von Tugenden:
1. Vermeide Unnötiges
Wir verzichten auf vorzeitige Optimierungen, um nichts zu optimieren, was später vielleicht nicht mehr relevant ist. Wir schreiben keinen Code, der nicht definitiv gebraucht wird. Und wir sind immer bestrebt, möglichst einfache Lösungen zu finden.
2. Isoliere Aspekte
Wenn wir bei der Arbeit Aspekte isolieren, vermeiden wir ungünstige Programmstrukturen, die Verständnis und Weiterentwicklung erschweren würden.

© Daniel Coulmann / Fotolia.com
3. Minimiere Abhängigkeiten
Unnötige Abhängigkeiten zwischen einzelnen Komponenten eines Systems können das Verständnis und die Weiterentwicklung sehr schwer machen. Aus diesem Grund nutzen wir Inversion of Control, wodurch eine Komponente weniger von ihrer Umgebung abhängt. Schnittstellen zwischen Komponenten gestalten wir so einfach wie möglich.
4. Halte Versprechen ein
Eine Komponente bietet über ihre äußere Schnittstelle Funktionalität an, denen gemäß dem Liskovschen Substitutionsprinzip auch davon abgeleitete Komponenten nicht widersprechen dürfen. Allgemein gesprochen, sollte ein Code so wenige Überraschungen wie möglich enthalten, wozu auch zählt, dass die Implementierung den Entwurf widerspiegelt.
5. Lebe mit der Unsicherheit
Softwareentwicklung im Voraus bis in letzte Details zu planen, ist praktisch unmöglich. Statt sich vor dem stetigen Wandel zu fürchten, heißen wir ihn willkommen und stellen uns auf ihn ein. Wir speichern alle Entwicklungsstände in einem Versionsverwaltungssystem, sodass wir jederzeit zu älteren Versionen zurückkehren oder neue Entwicklungslinien abzweigen können. Die nötige Sicherheit geben uns viele automatisierte Tests.

© BruceLem / Fotolia.com
6. Fokussiere
Durch Komponentenorientierung, den Test-first-Ansatz und die Begrenzung der parallel bearbeiteten Aufgaben konzentrieren wir uns auf das eigentliche Problem und arbeiten effizient.
7. Wertschätze Qualität
Unseren eigenen Ansprüchen genügt nur hohe Qualität, die wir mit automatisierten Tests, gegenseitigen Reviews und statischer Codeanalyse sicherstellen
8. Mach es fertig
Software nützt nichts, wenn sie nicht fertig wird. Deshalb entwickeln wir in kleinen Schritten und liefern regelmäßig Ergebnisse aus.
9. Halte Ordnung
Jeder kennt das Phänomen der sich wie von Geisterhand verbreitenden Unordnung, wenn man nicht kontinuierlich dagegen ankämpft. Um diesem Schicksal zu entkommen, machen wir kleine Verbesserungen gemäß der Pfadfinderregel an Ort und Stelle, bevor wir eine Stelle im Code wieder verlassen. Wir bauen unseren Code um, wenn er dadurch besser wird, und wir durchleuchten ihn mit Werkzeugen zur statischen Code-Analyse. Außerdem halten wir uns an Programmierkonventionen.

© Maxim_Kazmin / Fotolia.com
10. Bleib am Ball
Die Welt der Softwareentwicklung ist überaus schnelllebig und ständige Weiterbildung ist die einzige Konstante. Wir studieren kontinuierlich aktuelle Zeitschriften, Bücher, Blog-Artikel, Foren und andere Quellen, um auf dem Laufenden zu bleiben. Wir reflektieren regelmäßig unsere Arbeit, analysieren Probleme und geben auch gern unsere Erfahrungen weiter.
Mehr dazu auf www.clean-code-developer.de
Ihr Ansprechpartner

Rico Eißmann
- Anschrift
- ADVITEC Informatik GmbH
Schweizer Str. 3 a
01069 Dresden - Telefon
- +49 351 65262-0
- Fax
- +49 351 65262-11
- Kontaktformular