Atelier de génie logiciel
Environnement complet de développement
Je trouve rarement des éditeurs pour programmer qui me satisfassent totalement. En fait, mon projet n'est pas un éditeur au sens d'Emacs ou de UltraEdit. Ces idées sont ce que j'attend d'un environnement de programmation. Je compte pour ma part développer ce logiciel pour Windows et Linux, en supportant les langages suivant : C/C++, Pascal/Delphi et PHP. Mais le code est bien sur accessible, et chacun pourra d'une part m'aider, et d'autre part supporter d'autres systèmes ou langages.
La base
-gestion multilangage, ou un éditeur pour chacun (C/C++, Pascal/Delphi, PHP, Java, Javascript, Python... ). Le projet doit être suffisamment souple pour s'adapter à tout les langages.
-gestion des classes et des sources comme des collections de fonctions (en C, on définit donc une seule fois la fonction et le programme gère le h et le c) puis récréation des fichiers sources lors de la compilation.
-logiciel multiplateforme et multicompilateur, intégrant notamment les outils GNU (gcc, gdb, ...)
-gestion de plugs-in externes (correction orthographique des commentaires, .... )
Pour l'éditeur (la référence dans ce domaine étant UltraEdit)
-coloration syntaxique réglable
-utilisation des modèles de fichiers, de code
-utilisation des macros avec paramètres
-complétions des fonctions et variables
-fonctions chercher et remplacer évoluées (avec des regexps)
-navigation dans le code façon Delphi 5
Pour la facilité
-gestion automatique de l'historique
-vérification syntaxique du code de chaque fonction
-gestion automatique des assertions en début et fin de fonction (et suppression des assertions en productions pour les langages sans précompilateur)
-précompilateur pour les langages qui en sont dépourvus
-formatage du code pour la lisibilité
-gestion d'un référentiel de code éventuellement partagé
-aide intégrée, notamment pour les API
-aide aux tests par la génération d'une batterie de test au niveau de la fonction
-comparaison de fichiers
Pour la gestion de projet
-gestion des todo
-gestion du travail en équipe (en réseau local ou via Internet)
-gestion des versions au niveau des fonctions
-génération de la documentation du source (façon javadoc)
Pour le génie logiciel
-interfaçage avec des ateliers de génie logiciel (UML ou autre)
-gestion des règles de programmation (pas de classe sans constructeur de recopie par exemple) avec la possibilité de définir ses propres règles.
La base
-gestion multilangage, ou un éditeur pour chacun (C/C++, Pascal/Delphi, PHP, Java, Javascript, Python... ). Le projet doit être suffisamment souple pour s'adapter à tout les langages.
-gestion des classes et des sources comme des collections de fonctions (en C, on définit donc une seule fois la fonction et le programme gère le h et le c) puis récréation des fichiers sources lors de la compilation.
-logiciel multiplateforme et multicompilateur, intégrant notamment les outils GNU (gcc, gdb, ...)
-gestion de plugs-in externes (correction orthographique des commentaires, .... )
Pour l'éditeur (la référence dans ce domaine étant UltraEdit)
-coloration syntaxique réglable
-utilisation des modèles de fichiers, de code
-utilisation des macros avec paramètres
-complétions des fonctions et variables
-fonctions chercher et remplacer évoluées (avec des regexps)
-navigation dans le code façon Delphi 5
Pour la facilité
-gestion automatique de l'historique
-vérification syntaxique du code de chaque fonction
-gestion automatique des assertions en début et fin de fonction (et suppression des assertions en productions pour les langages sans précompilateur)
-précompilateur pour les langages qui en sont dépourvus
-formatage du code pour la lisibilité
-gestion d'un référentiel de code éventuellement partagé
-aide intégrée, notamment pour les API
-aide aux tests par la génération d'une batterie de test au niveau de la fonction
-comparaison de fichiers
Pour la gestion de projet
-gestion des todo
-gestion du travail en équipe (en réseau local ou via Internet)
-gestion des versions au niveau des fonctions
-génération de la documentation du source (façon javadoc)
Pour le génie logiciel
-interfaçage avec des ateliers de génie logiciel (UML ou autre)
-gestion des règles de programmation (pas de classe sans constructeur de recopie par exemple) avec la possibilité de définir ses propres règles.
24/02/2006 - Cédric Girard

