Sto lavorando a un progetto di generatore di codice, ma sento che potrei reinventare la ruota.
Qualcuno sa dove posso trovare alcune linee guida sulle migliori pratiche o schemi di progettazione per la generazione del codice?
Sto lavorando a un progetto di generatore di codice, ma sento che potrei reinventare la ruota.
Qualcuno sa dove posso trovare alcune linee guida sulle migliori pratiche o schemi di progettazione per la generazione del codice?
Le migliori pratiche reali sono difficili da trovare perché c'è ancora molta discussione sulla buona generazione di codice. Quale livello di astrazione modellisti, che cos'è un modello, usi un modello grafico o un modello testuale, DSL interno o esterno su quale livello vuoi utilizzare la generazione del codice (dalla semplice guida per gli sviluppatori per completare la fabbrica del software)
Uno dei migliori libri disponibili è " Modellazione specifica per dominio " Anche se ci si trova nello spazio microsoft potrebbe essere un po 'difficile mappare i tuoi progetti.
Anche il libro DSL di Martin Fowler può darti alcune buone idee sulla terminologia e sulle idee dietro DSL e come usare il codice per la generazione.
Se cerchi banchi di lavoro linguistici, la sfida del banco di lingue è un buon posto per vedere cosa è là fuori e quello che fanno gli altri.
Spero che questo aiuti.
extra: leggo anche "generazione del codice in .net " la tecnologia descritta è vecchia e anche solo una "come" sicuramente nessun aiuto nelle migliori pratiche o schemi di progettazione
25-1-2013 EDIT: è appena stato rilasciato un nuovo libro che potrebbe essere molto utile: " DSL Engineering - Progettazione, implementazione e utilizzo di lingue specifiche del dominio "
Per rendere il codice generato più gestibile, potresti essere interessato al modello Gap di generazione . Questo è uno schema che non è stato inserito nel libro GoF, ma che John ha sempre apprezzato e successivamente descritto separatamente nello stesso formato.
Dipende dal progetto
I tuoi strumenti e le tue pratiche varieranno a seconda di cosa specificamente devi fare per il progetto. Ad esempio: nello sviluppo di ASP.NET MVC e .NET è possibile considerare T4 Text Templates
. Fondamentalmente, ciò che fa è l'utilizzo dei modelli pre-build e personalizzati per impalcare un modello per la generazione dei file correlati (come aggiungere Controller e viste).
Un bel blog ha una introduzione rapida Modelli T4: una guida rapida per sviluppatori ASP.NET MVC
Tuttavia, è possibile utilizzare T4 anche in processi di generazione di codice diversi.
Leggi altre domande sui tag code-generation design-patterns software-craftsmanship