7
votes

Quels outils de génération de code utilisez-vous?

Si vous utilisez un un des événements, lequel?

  • myGeneration
  • T4
  • Outil de transformation UML (précis qui)
  • ...
  • Tous les autres non énumérés ci-dessus puisqu'il y a tellement de

0 commentaires

13 Réponses :


1
votes

J'ai tendance à éviter la génération de code et à générer des fonctionnalités dynamiques au moment de l'exécution, à l'aide de C # dynamicmethods ou d'expressions C # Lambda ... Je préfère ne pas avoir généré de code dans mes solutions ...


5 commentaires

Pourquoi? Vous aimez taper tous ce code ennuyeux et répétitif manuellement?


Ce n'est que ennuyeux et répétitif si vous le faites mal.


Dans l'application traditionnelle, il y a une tonne absolue de joli code de chaudière - Pourquoi quelqu'un voudrait-il que quelqu'un voudrait réécrire cela à chaque fois? Peut-être que vous travaillez sur quelque chose de très spécialisé et / ou neuf chaque fois que Lorenvs?


@Charlie, pas toujours votre langue de choix peut vous résumer du code répétitif et même si cela peut, il pourrait ne pas être pratique pour des raisons de performance.


La génération de code a un mérite important - vous pouvez voir ce que vous générez. Mais généralement, les protocoles de métaprogramming et de métaobject doivent être la bonne façon IMHO.



35
votes

Mes mains comptent-elles? :)


1 commentaires

C'était agréable de lire. :RÉ



3
votes

CODESMith Studio - Beaucoup de grands modèles d'échantillons qui fonctionnent avec elle.


1 commentaires

Excellent outil - J'ai abandonné T4 et je suis retourné à CodeMith après que les modèles T4 ne puissent pas être configurés pour sélectionner un serveur / une base de données / tableau sous forme de propriétés, plutôt que sur le code papier dans le code de modèle ...



4
votes

Eclipse EMF et JET.


1 commentaires

Alors que Jet est populaire, ce n'est pas non plus très puissant. Par exemple, OAW / XPAND prend en charge les modèles d'aspect afin que vous puissiez étendre ou remplacer les modèles existants; Il est également basé sur un méta-modèle. EMF utilise Jet pour sa génération de code, tandis que GMF utilise OAW / XPAND pour sa génération de code; Ce dernier est nettement plus facile d'étendre ou de modifier.



0
votes

Je viens de commencer à jouer avec les fonctionnalités de génération de code de l'architecte Enterprise. C'est un bon rapport de code généré à partir du modèle au lieu de la couche de base de données, mais malheureusement, leur outil de code-gen est un peu difficile à manier. Jusqu'à présent, j'ai modifié son modèle C # pour produire des classes de CSLA à os nues qui me sauvent au moins beaucoup de dactylographie.


0 commentaires

0
votes

Jeeves (discuté dans la programmation de Perl avancée).

J'ai une étape de pré-construction dans VS 2005 qui exécute que jeeves pour produire du code source "juste à temps" pour la compilation / la liaison.


2 commentaires

Qu'est-ce que Jeveves ne peut trouver aucun lien?


Avez-vous une copie de Jeeves?



0
votes

J'écris souvent des scripts de génération de code dans Python. Dans le passé lointain, j'ai également utilisé Perl. L'une ou l'autre langue est bien adaptée à la tâche.


2 commentaires

Utilisez-vous Python pour générer de Python ou autre chose?


J'utilise Python pour générer Java. Il convient de noter que je ne génère pas de cours d'UML ou de quoi que ce soit comme ça; Je génère des cours qui contenaient un grand nombre de constantes. Cela signifiait que nous chargons des données constantes à l'aide du chargeur de classe au lieu de la lire à partir d'un fichier, ce qui nous permet de renforcer la vitesse (le système intégré que nous travaillons a sur une version mal implémentée de la JVM; de nombreuses classes de base doivent être évitées à cause de mauvaise performance.



2
votes

"Normal" Code-Gen Outils J'utilise que beaucoup de gens ne pensent pas:

  • Formulaires Windows Designer
  • XAML pour WPF UIS
  • linq à sql

    Autres outils généraux de code qui sont évidemment Code Gen dans le projet:

    • antlr
    • Outils personnalisés J'ai écrit, tels que celui qui tourne une feuille de calcul Excel ( file.xlsx ) en code ( fichier.g.cs )

0 commentaires

0
votes

Toolkit de réengagement logiciel DMS

peut être configuré pour lire n'importe quel style de langage de spécification et générer un code, y compris l'optimisation de la génération de code post-code.


2 commentaires

Le lien ne semble pas fonctionner maintenant.


Le site Web était en panne temporairement. Le lien fonctionne maintenant.



1
votes

J'utilise les générateurs de code suivants:

  • Visio Enterprise Architecte pour générer des scripts SQL pour la création et mettre à jour des bases de données
  • NConstruct pour générer des fichiers de cartographie de NHibernate et parfois pour générer un "premier projet" d'une application
  • Visual Studio pour générer des fichiers de conception de l'interface utilisateur, un projet et une solution Fichiers, etc.
  • JET BRAINS RESHARPER pour de nombreux extraits de code, des morceaux de code basés sur des modèles, etc.

    Je crois que ma productivité serait beaucoup plus faible sans outils de génération de code. Les générateurs de code ne produisent généralement pas de bogues dans le code généré, il s'agit également d'une bonne raison de les utiliser.


0 commentaires

0
votes

J'utilise pour générer du code de UML:
  1. Visual Paradigm pour UML
  2. IDE NetBeans + UML Plugin

    Pour éditer / générer une interface graphique:
    1. NetBeans IDE
    2. MS Visual Studio

      pour autre chose

      python (parce que je trouve que ce n'est que le moyen le plus rapide de pirater quelque chose ensemble).


0 commentaires

2
votes

Eclipse Xpand et xtext , également appelé Openarchitectureware .


3 commentaires

OpenRarchItectureware n'existe plus, tous les subprojects sont devenus une partie de la modélisation Eclipse. La boîte à outils contient Xpand, Xtend, MWe et Xtext.


@Gabriel OpenRarchItectureware existe toujours comme un groupe de travail Eclipse (voir le lien dans ma réponse).


C'est vrai, je voulais juste souligner, qu'il n'y a pas de logiciel sous ce nom.



0
votes

J'utilise propre Generator Jule

http://code.google.com/p/jule/


0 commentaires