Saubere Programmierung – was ist „schöner Code“? Folge 1: Separation of Concerns

Saubere Programmierung – was ist „schöner Code“? Folge 1: Separation of Concerns

Saubere Programmierung – was ist „schöner Code“? …
4 Minuten
Podcast
Podcaster

Beschreibung

vor 3 Jahren
Saubere Programmierung – was ist „schöner Code“? Folge 1:
Separation of Concerns Die meisten Entwickler lernen Programmieren
durch ihren Spieltrieb – sie setzen sich das Ziel, eines Tages
Spiele programmieren zu können oder wollen ein eigenes Web-Portal
betreiben, vielleicht das nächste Facebook aufbauen. In dieser
Phase geht es einfach nur darum, Sachen zum Laufen zu bekommen. Es
wird Code rauskopiert, neu zusammengesetzt, getestet – bis alles
funktioniert. Ich will euch heute eine neue Sichtweise auf Code
beibringen, die über das reine „Funktionieren“ hinausgeht. Quasi um
„schönen Code“ Ein paar Basics wird bestimmt jeder mal gehört
haben: Variablen aussagekräftig benennen, Funktionsnamen sinnvoll
wählen. Ich will euch aber einen weiteren Aspekt beibringen, der
dich in deinem Programmiererleben viel Nacharbeit ersparen wird:
Die Rede ist vom „Separation of Concerns“. Ein Concern, englisch,
bedeutet „Anliegen“. Ein Anliegen ist zum Beispiel: „ich will mich
einloggen können“ – ein anderes Anliegen ist „ich will eine
Bestellung erfassen können“ – ein anderes „die Bestellungen sollen
mit dem Lagerprogramm synchronisiert werden“ In der Uni lernt ihr
eine Denkweise des Separation of Concern: Die MVC oder Model View
Controller Sichtweise. Die besagt, dass ihr den Code für das
Datenschema, die UI-Darstellung, sowie das Verhalten eurer Objekte
code-technisch auf mehrere Dateien aufteilen sollt. Das Ziel hinter
MVC ist sicherlich ein ehrbares. Aber die Stelle, an der hier der
Querschnitt gemacht wird, gefällt mir nicht. Ich kann euch das an
einem einfachen Beispiel zeigen: Ihr habt mehrere Concerns, ein
Concern ist dass ihr die Adresse im Kunden speichern wollt für den
Postversand. Ein anderer Concern ist, dass ihr die Bankverbindung
speichern müsst, um die SEPA-Lastschrift durchführen zu können.
Unterteilt man die Software jetzt Objektorientiert nach MVC,
schmeißt man beide Concerns 1. ins selbe Objekt und 2. auch
gemeinsam in die View-Datei. Die Folge: Will der Kunde jetzt das
SEPA-Lastschrift-Feature doch nicht mehr, müsst ihr anfangen, die
Dateien zu zerpflücken. Das führt zu Fehlern, blinde Felder, toter
Code usw. - Hätte man die Concern-Grenzen besser gesetzt, hätte man
nur eine Datei löschen müssen und das SEPA-Feature wäre sauber aus
der Software wieder herausgeschnitten. Die genauen Techniken, wie
man diese scharfe Trennung der Concerns erreicht, kommt aus dem
Bereich Aspect Oriented Programming und Feature Oriented
Programming. Ich werde die Techniken in dieser Folge nicht erklären
– dazu wird es noch viele Folgen geben. Ich will euch nur zeigen,
dass das Thema sauberer Code komplex ist und du noch viele
Verbesserungen an deinem Code erlernen kannst. Wenn dich das Thema
interessiert, dann abonniere diesen Podcast und höre dir die
anderen Folgen noch an.

Kommentare (0)

Lade Inhalte...

Abonnenten

15
15
:
: