7 votes

Bons outils de visualisation / refactoring du code pour C++ ?

J'ai récemment rencontré au travail un grand nombre de bases de code complexes et relativement volumineuses que l'on m'a demandé de réviser ou de remanier, ou les deux. Cela peut prendre énormément de temps lorsque le code est hautement concurrent, fait un usage intensif de templates (en particulier le polymorphisme statique) et possède une logique qui dépend de callbacks/signaux/variables de condition/etc.

Existe-t-il de bons outils de visualisation pour la période C++, et parmi ceux-ci, y en a-t-il qui fonctionnent bien avec les fonctionnalités "avancées" de C++ ? N'importe quel outil serait probablement meilleur que mon approche actuelle, qui consiste essentiellement à utiliser un stylo et du papier ou à passer par le débogueur. La méthode du débogueur peut être bonne pour suivre un chemin de code particulier, mais elle n'est pas idéale pour avoir une vue d'ensemble de ce dont on a vraiment besoin lorsqu'on fait un remaniement sérieux.

EDIT : Je dois mentionner que les plugins Visual Studio ne vont pas m'être d'une grande aide, puisque notre travail est principalement sous Linux.

0voto

Ben Points 444

Je ne peux pas en témoigner mais il y a la Projet de remaniement du CDT .
éditer : cette page semble périmée. Peut-être que quelqu'un d'autre peut attester de l'état d'avancement du remaniement du CDT ?

0voto

Ira Baxter Points 48153

En Boîte à outils de réingénierie du logiciel DMS est un moteur de transformation de programmes paramétré par des définitions de langage. Il dispose d'un frontal C++ complet et a été utilisé pour effectuer des refactorisations massives de systèmes logiciels codés en C++.

Voir Akers, R, Baxter, I., Mehlich, M. , Ellis, B. , Luecke, K., Case Study : Re-engineering C++ Component Models Via Automatic Program Transformation, Information & Software Technology 49(3):275-291 2007 pour une discussion sur le DMS et comment il a été appliqué aux modules C++ pour supporter les logiciels d'avionique.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X