Strukturierte Anwendungsentwicklung, Teil 2

Lesbarkeit von Quellcode erhöhen

| Autor / Redakteur: Christian Rentrop / Stephan Augsten

Manch versierter Programmierer schreibt seinen Code einfach herunter, was mitunter die Lesbarkeit erschwert.
Bildergalerie: 1 Bild
Manch versierter Programmierer schreibt seinen Code einfach herunter, was mitunter die Lesbarkeit erschwert. (Bild: Markus Spiske - Unsplash.com / CC0)

Nach der strukturierten Analyse eines Software-Auftrags geht es an die strukturierte Programmierung. Dabei handelt es sich nicht um das gleichnamige Programmier-Paradigma, sondern um die Struktur des Quelltextes an sich. Das kann in jeder Programmiersprache umgesetzt werden und bietet einige Vorteile.

Wenn der Begriff „strukturierte Programmierung“ auftaucht, ist gewöhnlich die Rede von dem in den späten Sechzigerjahren entwickelten Programmierparadigma: Hierbei werden Programme in Teilprogramme zerlegt, auf das früher übliche „Goto“ wird verzichtet. Strukturierte Programmierung sollte Code einfacher und effizienter machen und die Wartung erleichtern, wird aber heutzutage nur noch für eher einfache Programme verwendet.

Heute programmiert man weitestgehend objektorientiert, doch auch hier kann eine saubere Strukturierung – und zwar des Quellcodes – ausgesprochen sinnvoll sein. Dann nämlich, wenn mehrere Programmierer an einem Projekt oder Projektteil arbeiten und wieder und wieder auf Code zugreifen: Eine ordentliche Struktur erleichtert hier die Arbeit – und kann Kosten sparen.

Die Vorteile strukturierten Programmcodes

Ein von vornherein gut strukturierter Quellcode lässt sich in allen Programmiersprachen umsetzen. Von Hochsprachen wie dem Klassiker C++ über reguläre Sprachen wie Java bis zu simplen Skriptsprachen wie JavaScript bis hin zu Markup-Sprachen wie HTML profitiert eigentlich jedes Programmierprojekt von einer guten Struktur im Quellcode.

Die Vorteile liegen auf der Hand: Der Code ist übersichtlicher und besser lesbar, wodurch Anpassungen, Updates und natürlich das Bugfixing wesentlich erleichtert wird. Gerade bei Open-Source-Projekten oder anderen Software-Gemeinschaftsentwicklungen ist eine strukturierte Programmierung unerlässlich, um Mitarbeitern, Kollegen und anderen Programmierern das Leben leicht zu machen.

Im Unternehmensumfeld kann Code zudem einfacher überprüft werden, wodurch es zum Beispiel möglich ist, potenzielle Sicherheitslücken leichter aufzuspüren. Auf einen Debugger kann gegebenenfalls verzichtet werden.

Nachteile strukturierten Programmcodes

Der Nachteil strukturierten Codes liegt vor allem in der Länge des Quellcodes: Durch viele eingefügte Leerzeichen, Zeilen und gegebenenfalls Kommentare, die der Übersicht dienen, wird der Quellcode natürlich länger, wodurch sich gegebenenfalls auch die Laufzeit erhöht. Allerdings ist diese Geschwindigkeitseinbuße aufgrund moderner Rechenleistung zu vernachlässigen. Auch erhöht sich der allgemeine Speicherbedarf des Programmcodes, der jedoch genau wie die Laufzeiterhöhung heutzutage weitestgehend ignoriert werden kann.

Daraus folgt allerdings, dass strukturierte Programmierung auf besonders leistungsschwachen und speicherarmen Systemen nicht unbedingt das Mittel der Wahl sein kann und sollte. Entsprechende Hardware wird jedoch zugegebenermaßen immer seltener.

Quellcode-Strukturierung in der Praxis

Sinn und Zweck der strukturierten Programmierung ist die Übersichtlichkeit des Codes, weshalb neben dem eigentlichen Programmcode vor allem Kommentare zum Einsatz kommen sollten. Im Idealfall wird jede Programmanweisung mit einer kurzen Funktionsbeschreibung kommentiert. Da der Compiler den Kommentar-Code aufgrund bestimmter Zeichenketten (etwa /* in C++ oder Java-Code) ignoriert, kann mit ihrer Hilfe leicht erklärt werden, was das Programm an dieser Stelle gerade macht oder machen soll. Auch Variablen, Datenquellen und Objekte lassen sich hier kurz erklären.

Dritte erfahren dadurch auf einfache Weise, worum es gerade geht. Gleichzeitig können Kommentare auch bei der Versionierung und der Gliederung helfen und erlaubt das Einfügen von Arbeitsanweisungen, etwa um Mitarbeitern Hinweise auf Debugging zu geben. Gleichzeitig erlaubt die Kommentarfunktion auch das schnelle Streichen einzelner Programm-Bestandteile, um zum Beispiel Alternativen auszutesten. Zudem können Kommentare auch eine zusätzliche Dokumentation ergänzen oder sogar teilweise ersetzen.

Leerräume und Zeilensprünge dienen der Übersicht

Natürlich dienen nicht nur Kommentare der Übersicht, sondern auch die „Formatierung“ des Quellcodes an sich. Profis neigen dazu, Code einfach „am Stück“ herunter zu hacken, was Dritten jedoch den Einstieg massiv erschwert. Durch das Setzen von Tabulatoren für eingerückten Inhalt und den Einsatz von Zeilenumbrüchen lassen sich zum Beispiel gut Unterfunktionen oder Blöcke untereinander und in sich gliedern.

Liest ein Dritter den Quelltext, wird er sich auf diese Weise sehr einfach im Quelltext zurechtfinden können, was das spätere Debugging deutlich erleichtert. Etwa dann, wenn viele freie Entwickler an einem Projekt arbeiten, die nach und nach wechseln. Das spart Einarbeitungszeit und damit letztlich Kosten.

Sprechende Variablen und Objekte verwenden

Manch ein Programmierer setzt Variablen und Objekte mit kryptischen Namen, etwa „X“ oder „ab123“ – das ist nicht im Sinne der strukturierten Programmierung, sondern sorgt nur dafür, dass jemand, der sich später in den Quellcode einarbeiten möchte, leichter die Übersicht verliert.

Objekte und Variablen sollten deshalb immer möglichst sprechend bezeichnet werden, um an dieser Stelle Übersicht zu schaffen. So kann es sinnvoll sein, Variablen und Objekten einen Namen zuzuweisen, der beschreibt, worum es sich handelt, etwa statt „ls1“ lieber „lichtsensor1“ oder ähnliches. Gleiches gilt für andere Elemente.

Groß-Kleinschreibung zur Unterscheidung nutzen

Moderne Programmiersprachen wie C++ unterscheiden zwischen Groß- und Kleinschreibung von Variablen und Objekten in dem Sinne, dass „PC“ und „pc“ unterschiedliche Werte sind. Allerdings kann die Groß-Kleinschreibung trotzdem für mehr Struktur im Quellcode verwendet werden.

So kann man längere Variablen-Namen und ähnliche Elemente eindeutiger beschriften: „meinkleinesblaueshaus“ ist weniger gut lesbar als „MeinKleinesBlauesHaus“. Derartige Namen-Paradigmen können allerdings im Zweifel für Verwirrung und damit für zusätzliche Bugs sorgen. Die Nomenklatur sollte also vorab festgelegt werden, damit hier Probleme gar nicht erst aufkommen.

Weitere Möglichkeiten zur Strukturierung

Natürlich sind das nur einige Beispiele für eine sinnvolle Strukturierung von Quellcode im Sinne einer guten Lesbarkeit und vereinfachten Einarbeitung mit dem Ziel, Zeitaufwand und damit Kosten zu sparen. Es gibt eine Vielzahl weiterer Möglichkeiten, Quellcode effektiv zu strukturieren und dadurch für maximale Logik und Lesbarkeit zu sorgen. So ist zum Beispiel das Vermeiden von Code-Wiederholungen durch Setzen symbolischer Konstanten oder die Unterteilung der einzelnen Code-Schritte in Blöcke oder Unterprogramme ebenfalls eine sinnvolle Hilfe.

Weitere Hilfestellungen für die strukturierte Programmierung gibt übrigens das Wikibook „Strukturierte Programmierung“. Wie der „saubere“ Quelltext dann in der Praxis aussieht, spielt natürlich nur eine untergeordnete Rolle – wichtig ist, dass Richtlinien im Rahmen von Team-Absprachen oder der Unternehmens-Compliance festgelegt werden, an die sich jeder mit dem Code beschäftigte Mitarbeiter zu halten hat.

Kommentare werden geladen....

Kommentar zu diesem Artikel

Anonym mitdiskutieren oder einloggen Anmelden

Avatar
  1. Avatar
    Avatar
    Bearbeitet von am
    Bearbeitet von am
    1. Avatar
      Avatar
      Bearbeitet von am
      Bearbeitet von am

Kommentare werden geladen....

Kommentar melden

Melden Sie diesen Kommentar, wenn dieser nicht den Richtlinien entspricht.

Kommentar Freigeben

Der untenstehende Text wird an den Kommentator gesendet, falls dieser eine Email-hinterlegt hat.

Freigabe entfernen

Der untenstehende Text wird an den Kommentator gesendet, falls dieser eine Email-hinterlegt hat.

copyright

Dieser Beitrag ist urheberrechtlich geschützt. Sie wollen ihn für Ihre Zwecke verwenden? Infos finden Sie unter www.mycontentfactory.de (ID: 44958780 / Coding & Collaboration)