am 10. Februar 2010
Diese Woche habe ich echt einen Lauf, was Kreativität angeht. Ich bin gerade dabei eine Applikation zu analysieren. Natürlich gibt es dort wie in jeder größeren Architektur Schichten. Das hilft ungemein wenn man sauber arbeiten will, aber wem sage ich das. Wir haben also Schichten in unserer Applikation und man darf nicht auf alle Schichten zugreifen, sondern nur auf ein paar erlaubt.
Ich habe mal irgendein Schichtenmodell aus dem Internet genommen. Wichtig ist dabei nicht der Inhalt sondern nur der Aufbau. Das ISO/OSI Modell kennt wahrscheinlich jeder. Egal wieder zum Thema. Wir haben Schichten, die miteinander kommunizieren dürfen und andere, denen es eben nicht gestattet ist.
Die meisten Klassen meiner Applikation kann ich sauber (genau) einer Schicht zuweisen. Wenn man jetzt einen PHPDoc Keyword hätte, dass einem anzeigt, zu welcher Schicht eine Klasse bzw. Methode gehört, könnte man ein paar schöne Dinge anstellen.
Na gut vielleicht keine Dinge, aber ein schönes Ding würde mir sofort einfallen. Wenn ich alles markiert habe, kann ich einen CodeSniffer Sniff programmieren, der den Code durchstöbert und mir rausfindet, wo ich gegen die Zugriffsregeln verstoßen habe. Ich könnte dabei zum Beispiel eine direkt erstelle DB Verbindung finden, ohne dabei über meine DB Abstraktion zu gehen.
Darstellen könnte man das über eine einfache binäre Matrix (darf/darf nicht). Vielleicht kann man auch einfach jedem Package eine Schicht in einem externen Dokument zuweisen, dann ist der Aufwand geringer.
Ich glaube es würde einem bei einem großen Projekt mir vielen Entwicklern auf jeden Fall helfen groben Unsinn zu vermeiden. Und außerdem würde es ein Tag geben, das ich erfunden habe. Auch wenn es sowas in Java bestimmt schon 100 Jahre gibt (nur geraten).
Ich sehe übrigens schon Eclipse Plugins vor mir. Eine Vision entsteht …