Leider hat Ihr vermeintlicher Bugfix eine andere Funktion der Website zerstört – Ihr Kunde entdeckt das Problem und wendet sich an einen Ihrer Kollegen. Dieser ist ratlos, denn obwohl er ebenfalls für dieses Projekt entwickelt hat, kennt er Ihren Code nicht. Wenn er bloß wüsste, was diese Funktion „valCustOrd()“ tut – validiert sie die Bestellung oder ermittelt sie den ... Hmm, und wofür ist bloß das Feld „refspec“ aus der Tabelle „tx_customerorder“? Was genau passiert eigentlich, wenn ein Kunde eine Bestellung abschickt? Welches Kabel muss ich durchschneiden – das schwarze oder das rote?
Die Komplexität der Anwendung ist nicht mehr zu durchschauen. Im besten Fall findet sich noch eine Dokumentation, die etwas Licht ins Dunkel bringt, natürlich ist diese veraltet und unvollständig, denn zum Ende des Projekts war dafür einfache keine Zeit mehr.
Lesbarer Code ist ein Anfang
Es gibt viele Faktoren, die eine Anwendung unübersichtlich machen und naturgemäß konzentrieren sich Entwickler bei der Suche nach Übersichtlichkeit auf die technischen Möglichkeiten. Guten Entwicklern ist zum Beispiel bereits während des Projekts gut lesbarer Quellcode sehr wichtig – hier Zeit zu sparen, wäre am falschen Ende gespart. Die naheliegende Quick-and-Dirty-Lösung entpuppt sich nämlich häufig als in keinster Weise zeitsparend – der Ärger kommt spätestens bei größeren Änderungen.
Codelayout und automatisierte Tests sind nur zwei von zahlreichen technischen Aspekten, die helfen, die Qualität des wichtigsten Produkts Ihres Projekts – dem Quellcode – zu verbessern. Allerdings ist es nicht die Technik, die bestimmt, wie viel Komplexität Ihre Software verkraftet: Wenn die eigentliche Aufgabe, in der die Anwendung glänzen soll, eine triviale Größe übersteigt und die Anforderungen und Geschäftsprozesse Ihnen Kopfschmerzen bereiten, sind Sie auf das Herz Ihrer Anwendung gestoßen – die Domäne.





2 Antworten
von Die Zukunft der Extension-Entwicklung: N… 01.12.2009 (09:42Uhr) 1.
[...] in abstrahierte Softwareobjekte – das Domänen-Modell („Domain Model“) – übersetzt [1]. Objekte, die explizit nicht zum Domänen-Modell gehören sind solche, die für das Speichern und [...]
von Wie am besten Extbase lernen? - TYPO3-ne… 11.11.2011 (16:11Uhr) 2.
[...] werden, der Autor hat außerdem eine Zusammenfassung veröffentlich.Domain-driven DesignEin t3n-Artikel von Robert Lemke (Team Leader FLOW3) führt in das Thema ein.Das Buch Domain-Driven Design: Tackling Complexity in [...]