Document ID: /fineweb-2-swissfilter-quality_10-filterrobots/filtered/03615.jsonl.gz/1284

Die Trennung des Was (Schnittstelle) vom Wie (der Implementierung) findet in dieser Faustregel ihre konsequente Fortsetzung:
Die Programmlogik beschreibt das Was und abstrahiert dabei vom Wie, welches mit Hilfe von (Meta-)Daten beschrieben wird, die ausserhalb der compilierten Anwendung liegen. D.h. wir programmieren den allgemeinen Fall und legen die Beschreibung der spezifischen Details möglichst vollständig in die Daten.
Dies hat mehrere Vorteile:
- Durch die konsequente Trennung des Was vom Wie wird die Koppelung in einem Entwurf verringert. Die Software wird flexibler und anpassungsfähiger.
- Anwendungen lassen sich ohne Neukompilation an sich ändernde Anforderungen anpassen.
- (Meta-)Daten lassen sich meist näher an der eigentlichen Problemstellung strukturieren und beschreiben. Das gibt uns z.B. die Möglichkeit, unsere Endkunden direkt am Erstellungsprozess der applikatorischen Details zu beteiligen.
- Im Idealfall lassen sich unterschiedliche Projekte mit Hilfe der gleichen Software aber unterschiedlichen (Meta-)Daten umsetzen.
Bei dieser Art der Programmierung gilt es zu bedenken, dass es sich auch bei den (Meta-)Daten um eine Art von Programm handelt bzw. um einen bestimmten Teil davon. Damit besteht die Notwendigkeit, diese Daten als deklarative Programmelemente genauso sorgfältig zu testen wie herkömmliche Programme in einer Programmiersprache. Diese Aufgabe ist je nach Komplexität der (Meta-)Daten alles andere als trivial (siehe hierzu auch den nemos log
Eintrag Metaprogrammierung
).