Unformatierter Code-Block

Code-Konventionen

Einheitlicher Programmierstiel

Coding-Style, Programmierrichtlinie, Entwicklerhandbuch..., jeder, der bereits an Software-Projekten als Entwickler gearbeitet hat, kennt diese Begriffe. Sie stehen für zuvor definierte Regeln, Anleitungen und Best Practice-Beispiele, die dabei helfen sollen, möglichst effizient fehlerfreie und wartungsarme Software zu entwickeln.

Diese einheitlichen Regeln zu kennen und sie auch in der Praxis einzuhalten gestaltet sich oft schwierig:

  • Sind die Vorgaben für mein Projekt dokumentiert und wo kann ich Sie finden?
  • Ich bin neu in das Projekt eingestiegen, wo finde ich Unterstützung?
  • Ich habe dringende Aufgaben zu lösen. Mir fehlt die Zeit, um mich mit allgemeinen Vorgaben zu beschäftigen.
  • Wie kann ich prüfen, ob meine Arbeit oder der vorhandene Code den definierten Regeln entspricht?

Gemeinsam Regeln definieren

Jeder Entwickler prägt in Abhängigkeit seiner Erfahrung einen individuellen Programmierstil aus. Arbeiten mehrere Entwickler zusammen an einem Projekt, sollten Sie bereits zum Projektbeginn gemeinsame Richtlinien definieren, auf deren Einhaltung sie sich einigen und verpflichten. Dieses Regelwerk sollte dabei nicht nur starr umgesetzt, sondern in regelmäßigen Abständen immer wieder geprüft und verbessert werden.

Das Vier-Augen-Prinzip

Mechanismen, wie die gemeinsame Arbeit zu zweit am selben Code (Pair Programming) und die gegenseitige Abnahme der umgesetzten Arbeit (Peer Review) erleichtern nicht nur die Einarbeitung neuer Team-Mitglieder, sondern fördern ein besseres Projektverständnis und erhöhen die Code-Qualität wesentlich.

Das Vier-Augen-Prinzip wird rotierend im Team angewendet, um die Auslastung gleichmäßig zu verteilen und die Ergebnisse zu optimieren.

Aufgaben automatisieren

In der täglichen Projektarbeit gibt es viele wiederkehrende Aufgaben, die automatisiert werden können:

  • Code-Analyse
  • Tests
  • Builds
  • Deployments

Die Automatisierung spart erheblich Zeit für produktive Aufgaben ein und verringert die Fehleranfälligkeit des Projektes.

Quellcode kann über statische Code-Analyse (Linting) automatisiert geprüft werden. Die meisten Entwicklungsumgebungen bringen entsprechende Funktionen für die gängigen Programmiersprachen bereits mit oder stellen diese über Erweiterungen zur Verfügung.

Als wichtiger Bestandteil des Entwicklungsprozesses bilden automatisierte Tests die notwendige Absicherung der Projektfunktionalität ab. Sie sichern die Funktionalität des Projektes in der Entwicklung, dem laufenden Betrieb, und bei Anforderungsänderungen an bestehender Funktionalität ab. Als ausführbare, technische Dokumentation beschreiben automatisierte Tests einzelne Aspekte der technischen Implementierung besser als jede manuell erstellte Dokumentation.

Über Werkzeuge zum Anwendungsmanagement können Code-Analyse und Tests ausgeführt werden, bevor eine neue Produktversion erstellt und ausgeliefert wird.