Folge 4 – Kurzer Code Ist Schön

Folge 4 – Kurzer Code Ist Schön

Wer kennt es nicht – Studienkollegen, die damit p…
3 Minuten
Podcast
Podcaster

Beschreibung

vor 3 Jahren
Wer kennt es nicht – Studienkollegen, die damit prahlen, dass
Projekt X aus hunderten Millionen Zeilen Code besteht. Dabei habe
ich nirgends im Studium gelernt, dass wir in unserem
Programmiererleben so viel wie möglich Code produzieren müssen.
Meine Professoren haben auf komplett andere Ziele Wert gelegt:
Lesbarkeit, Wartbarkeit, Flexibilität des Codes z.B. wenn er mit
anderen Datentypen verwendet wird, Wiederverwendbarkeit,
Sicherheit, Korrektheit, Laufzeit-Performance uvm. Noch besser:
Angenommen, man will „sicheren Code“ schreiben, dann ist es nur
hinderlich, wenn es sich um Millionen Zeilen von Code handelt.
Schließlich muss man für jede einzelne Code-Zeile beweisen, dass
sie das Programm nicht zu einer Fehlfunktion bringen kann. Um die
Lesbarkeit von Code zu erhöhen, kann das Programm gerne mal länger
werden. Immerhin tut es dem Compiler nicht weh, wenn die Funktion
„toggleFullscreen“ und nicht „tgfs“ heißt. Doch Spaß beiseite: Die
Welt benötigt nicht viel Code. Ich wette, der meiste Code in
Programmen ist in Wirklichkeit kein Code, sondern es handelt sich
einfach um „Daten“. Wie meine ich das? Naja die Aufzählung von
Feldern in einem Formular – dazu benötigt man keine
Turing-Vollständige Programmiersprache mit Schleifen und
Kontrollkonstrukten – eine JSON-Datei mit einer Liste der Felder
und ihrer Datentypen, sowie 1-2 Constraints (Min-Max-Werte,
Validator-Funktionen) würde genau denselben Zweck erfüllen. Viele
Programmierer schreiben diese Sachen aber in Code. Weil sie es
nicht anders gelernt haben. Dabei gibt es eine einfache Grundregel,
die zwar noch nie jemand genau so definiert hat, aber jeder
Informatiker intuitiv im Hinterkopf hat: Schreibe den Code immer in
der am wenigsten mächtigen Programmiersprache, die du verwenden
kannst. Wenn ich ein String-Pattern als REGEX ausdrücken kann,
brauche ich keine FOR-Schleife von Hand programmieren. Und genau so
ist es mit Millionen Zeilen Code in X-beliebigen Projekten: Trennt
man dort sauber Code und Daten, hat man das Potenzial anstatt X
Millionen Zeilen Code zu schreiben, lieber X Codezeilen mit Y Daten
zu durchlaufen. Kann man sein Programm anstatt mit X Code in X*Y
Code+Daten ausdrücken, ist X nur noch Wurzel-mal-so-groß. Bei einer
Million Zeilen Code bedeutet das – Wurzel aus 1 Mio sind 1000 –
1000 Zeilen Code und 1000 Zeilen JSON-Datei. Diese M*N-Komplexität
von Code trifft man noch an anderen Stellen wieder. Ein Beispiel
sind Schnittstellen-Konvertierungen. Hat man 3 Eingangs-Formate und
3 Ausgangsformate, muss man 3x3 = 9 Konvertierungsfunktionen
implementieren. Führt man stattdessen ein einheitliches
Zwischen-Format ein, muss man nur noch 3+3, also 6 Funktionen
schreiben. Kurzer Code hat viele Vorteile: Man ist schneller mit
lesen fertig, es gibt weniger Stellen, an denen man Fehler suchen
muss, man hat ihn schneller geschrieben und wenn der Kunde
Änderungen wünscht, muss man weniger Code wieder löschen. Fazit:
Die eben angeschnittenen Techniken sind nur ein paar Tricks, seinen
Code kurz zu halten. Es gibt noch mehr. Wenn du dran bleiben
willst, abonniere diesen Podcast.

Kommentare (0)

Lade Inhalte...

Abonnenten

15
15
:
: