User

Passwort

 

Clean Code Development

INDECA vertritt das Wertesystem verantwortungsvoller Entwickler

 
In der Entwicklung von Webanwendungen haben führende Programmierer einen verantwortungsvollen Wertekanon entwickelt, das so genannte Clean Code Development (CCD).

Das Wertesystem der Clean Code Developer regelt einen offenen und ehrlichen Umgang mit Kundenprojekten und formuliert Leitlinien für die Arbeit an Softwareprojekten.

INDECA hat sich diese Regeln zu eigen gemacht und stellt sie hier zusammengefasst dar (Quelle: http://clean-code-developer.de/Wertesystem.ashx). Das Wertesystem leitet Clean Code Developer in ihrer täglichen Arbeit. Es enthält keine Problemlösungen, sondern definiert Rahmenbedingungen für Problemlösungen.


1. Evolvierbarkeit
Es gibt keine Softwarewartung.

Software ist so, wie sie ist. Meist enthält sie Fehler. Natürlich gibt es beim Betrieb der Software proaktive Handlungen wie das Prüfen, ob die Logdateien noch ausreichend freien Platz auf der Festplatte lassen, oder ob eine Datenbank überläuft.
Statt Wartung helfen Änderungen und Erweiterungen, Fehler zu beseitigen oder veränderte Anforderungen umzusetzen. Das erfordert eine innere Struktur der Software, die solche Änderungen begünstigt. Dies bezeichnen wir als Evolvierbarkeit. Software wird in der Regel über lange Zeiträume betrieben. Während dieser Zeit ändern sich die Rahmenbedingungen, müssen Features ergänzt werden. Je einfacher die Software an geänderte Rahmenbedingungen angepasst werden kann, desto höher ist ihre Evolvierbarkeit. Doch Evolvierbarkeit erhält man nicht nachträglich, sie muss von vornherein berücksichtigt werden.

2. Korrektheit
Software muss funktional korrekt sein. Ein Buchhaltungsprogramm muss die Buchungen ordnungsgemäß verbuchen, eine Tabellenkalkulation muss richtig rechnen. Und auch die nicht-funktionalen Anforderungen müssen erfüllt sein. Das Programm muss schonend mit Ressourcen wie Speicher, Prozessorzeit, Plattenplatz umgehen, die Antwortzeiten müssen in einem definierten Rahmen liegen. Erst wenn alle Anforderungen erfüllt sind, ist die erstellte Software korrekt.
Es reicht unserer Ansicht nach nicht aus, Software nach deren Erstellung durch eine Testabteilung zu leiten, deren Aufgabe es ist, Fehler zu finden. Wir meinen, Korrektheit ist Teil der Entwicklung. Damit Entwickler Korrektheit erzielen können, müssen messbare Anforderungen definiert werden, die eine Software erfüllt.

3. Produktionseffizienz
Entwicklungszeit und Preis einer Software sind die Faktoren, die in der Produktionseffizient zusammenlaufen. Eine ineffiziente Produktion resultiert in einem hohen Preis. Sie beginnt bei manuellen Arbeitsschritten, die nicht automatisiert werden und endet bei hohen Fehlerraten, die mehrmaliges Nachbessern erfordern. Produktionseffizienz bedeutet aber auch, dass eine Software über Jahre oder gar Jahrzehnte weiterentwickelt werden kann. Gleichzeitig reduziert hohe Produktionseffizienz die Anfälligkeit für Fehler. Die Produktionseffizienz ist ferner eine Richtschnur, um anderen CCD-Werte in ein maßvolles Verhältnis zu setzen. Ein allzu hoher Zeitaufwand für die Korrektheit zeigt beispielsweise, dass die anderen Werte nicht genügend berücksichtigt wurden.

4. Reflexion
Ohne Rückschau ist keine Weiterentwicklung möglich. Nur wer reflektiert, wie er eine Aufgabenstellung gelöst hat, kann feststellen, ob der gewählte Weg einfach oder beschwerlich war. Lernen basiert auf Reflexion. In einer jungen Wissenschaft wie der Informatik ist es wichtig, neue Erkenntnisse auf allen Ebenen zu berücksichtigen. Angefangen beim Reflektieren über die Implementation beim Pair Programming oder Code Review, das tägliche Reflektieren des Teams, die Reflexion nach jeder Iteration, bis hin zur Reflexion der gesamten Branche über ihr Tun. Nur so können sich Enwickler weiterentwickeln.

Bild links
Clean Code Development

2. Bild rechts

Ihr Ansprechpartner

Jean-Pierre Erdas
Jean-Pierre Erdas
Leitung Entwicklung / Geschäftsführer
Tel.: +49 (0) 7131 - 7999 - 300
E-Mail:
jean-pierre.erdas@indeca.de