« Best Practice Workshop für Enterprise Architect ACPI Hibernate und Deprecated /proc/acpi files Einstellung »

Code Generation Template im Enterprise Architect modifizieren

12. März 2010 Roland

Bisher verwendete ich den Enterprise Architect (EA) ohne an den Templates herumzuwurschteln.
Das hatte den Hintergrund, da ich zum Einen mich nicht in das System zu tief einlernen wollte (keine Zeit) und zum Anderen konnten meine generierten Klassen hinterher einmal kurz manuell überarbeitet werden und das kostete mich nur ein paar Handgriffe.
Will heißen, dass die Standard Konfiguration für mich (fast) ausreichend war und den Rest konnte ich ohne große Mühe anpassen.
Jetzt habe ich aber den Best Practice Workshop hinter mir und die Ausrede “das kostet doch kaum Zeit” zieht jetzt natürlich nicht mehr. Ich will den EA jetzt komplett verstehen und die einzelnen Features aus wirklich nutzen.
Wenn du die Code Generation Templates anschaust (Settings->Code Generation Templates..) kannst du bereits vorhandene Sprachen auswählen.
eaAuswahl
Beispielsweise habe ich hier PHP ausgewählt.

Reihenfolge der Template Abarbeitung

Wenn du den Sourcecode generieren lässt (z.B. mit Project->Source Code Engineering->Generate Package Source Code… oder direkt wenn du eine Klasse auswählst und F11 drückst, wird das einzelne Klassenelement im EA ausgelesen und die einzelnen Templates aufgerufen. Gestartet wird mit dem File Template.
Am Beispiel von PHP ergibt sich, wenn man durch die Templates geht folgende Reihenfolge:

  • File Hier kannst du z.B. allgemeine Copyright Informationen einfügen.
  • Class In diesem Template stehen die Notizen zur Klasse, dann die Klassendeklaration und der Body der Klasse. Somit werden die Templates Class Notes, Class Declaration und Class Body nacheinander aufgerufen.

eaClassTemplate
In diesem Template habe ich übrigens schon eine kleine Änderung angebracht.
Mich hat gestört, dass bei Klassen die Body-Klammer nicht nach der Deklaration sondern in der nächsten Zeile eingefügt wurden.
Wie du sehen kannst, habe ich jetzt im Template direkt nach der Klassen-Deklaration die Klammer geöffnet.
Im Class Body musste ich dann natürlich die öffnende Klammer entfernen.
eaClassBody
Das Ganze ist zwar ein bisschen Gefummel, wenn man es aber mal verstanden hat, kann man da sehr schön die einzelnen Komponenten seinen Bedürfnissen anpassen.
Du musst einfach nur immer die einzelnen Zeilen interpretieren und erkennen was da aufgerufen wird.
Danach läuft der EA-Parser durch die Templates und ruft nacheinander (unter Umständen natürlich mehrmals) die einzelnen Templates auf.
Da die Anpassungen an den Templates, solange es sich nur um ein bisschen Klammersetzung handelt, sehr schnell durchgeführt werden kann, spart man sich über lange gesehen doch sehr viel Arbeit.

Kleiner Tipp wenn das Template nicht verwendet wird

Mir ist da ein Fehler unterlaufen als ich meine Templates ausprobieren wollte.
Wenn du die Klasse generieren lässt, wird normalerweise der Code nicht komplett überschrieben sondern nur angepasst. Das ergibt mehr als Sinn, da du normalerweise im Code programmierst und der EA dir ansonsten auch dein Content komplett überschreibst.
Falls du aber Templates ausprobieren willst, solltest du deine Testklasse mit rechter Maustaste auswählen (Generate Code), und dann bei Advanced die Checkbox Replace (overwrite) existing code auswählen.
Damit stellst du sicher, dass dein Code auch tatsächlich mit den veränderten Templates generiert wird.
Ich wäre fast verzweifelt, warum mein Code sich einfach nicht ändern wollte :)

Merken und weiterempfehlen Diese Icons verlinken auf Bookmark Dienste bei denen Nutzer neue Inhalte finden und mit anderen teilen können.
  • Technorati
  • Wikio DE
  • Webnews
  • MisterWong
  • Y!GG
  • Digg
  • del.icio.us

Artikel mit ähnlichen Schlagwörtern

Der Beitrag wurde am Freitag, den 12. März 2010 um 00:15 Uhr veröffentlicht und wurde unter Guggat emol, IT abgelegt.

Dir gefiel der Artikel? Dann abonniere doch den RSS Feedrss

Du kannst die Kommentare zu diesem Eintrag durch den RSS 2.0 Feed verfolgen. Du kannst einen Kommentar schreiben, oder einen Trackback auf deiner Seite einrichten.

2 Reaktionen zu “Code Generation Template im Enterprise Architect modifizieren”

  1. Felix sagt:

    In der Schule lerne ich derzeit Phyton und Delphi, obwohl ich eigentlich finde, dass wir uns eher moderneren Sprachen witmen sollten. Gerade PHP ist heutzutage sehr wichtig und die Grundlagen sind sehr gut verständlich. Wahrscheinlich möchten die Kultusministerien aber, dass wir logisches Denken mit Delphi und Co. lernen, um besondere Abläufe kennenzulernen.

  2. Roland sagt:

    Hi Felix,

    das ist die Positive Darstellung :)
    Im Prinzip ist es natürlich egal mit was für einer Programmiersprache man die Abläufe und Zusammenhänge lernt.
    Wenn du eine hast, ist der Umstieg auf Andere nicht sehr schwer.
    Meine Meinung ist jedoch, dass unsere Schulen sich sehr schwer tun mit einigermassen aktuellen Lehrplänen.
    Gründe hierfür sind:
    - Schlecht ausgebildete Lehrer
    - Kein Interesse wirklich Neues zu erlernen
    - Hoher Aufwand um das Unterrichtsmaterial zu ändern.
    Der letzte Punkt gilt für die Lehrer, die ja den Unterricht vorbereiten müssen, aber vor allem auch für das Lehrmaterial.
    Die Kosten für die Neuerstellung sind sehr hoch.
    Beispiel:
    Wenn ich einen Kurs erstelle muss ich für eine Stunde Kurs etwa fünf Stunden Vorbereitung investieren.
    Das ist schon teuer ;)
    Die Frage ist hier nur warum wir Ausbildungen durchführen. Ihr sollt ja nach der Schule konkurrenzfähig zu anderen sein.
    Wenn ihr nur “altes Zeug” beigebracht bekommt, dann müsst ihr hinterher noch einiges “Nachlernen”…

Schreibe mir

Kommentare abonnieren ohne selbst zu kommentieren

zum Seitenanfang