Wie bin ich zu Model-to-Code gekommen?
Ich stand häufig vor Problemen, bei denen eine Reihe von Klassen zwar viel Ähnlichkeit aufwiesen, aber auch gravierende Unterschiede. Wo ich nach der Analyse so genaue Information besaß, dass ein Großteil des „Auscodierens“ fast schon mechanisch hätte geschehen können.
Häufig genug habe ich mit Copy-and-Paste, gefolgt von Search-and-Replace gearbeitet, wenn ich z.B. eine Klasse um ein zusätzliches Attribut erweitern musste. Ähnlich, aber mit noch mehr Umfang, kann man eine Klasse "erstellen" in dem man eine ähnliche Klasse als "Vorlage" verwendet, und umfangreich Search-and-Replace betreibt. Aber diese Verfahren sind zeitaufwändig und fehleranfällig.
In Spezialgebieten habe ich früher schon Code-Generatoren verwendet: Zum Einen SWIG, um einen Adapter zwischen C-/C++-Code und einem Interpreter (Perl, Tcl, Python) erzeugen zu lassen. Zum Anderen den State Machine Compiler SMC, um den Code für Zustandsautomaten erzeugen zu lassen.