[Revue de code] Quels outils pour de grosses applis?
Bonjour,
Je travaille sur le développement d'une appli en C & C++. (6 millions de lignes de code)
On se rend compte qu'il y a pas mal de problèmes.
Du coup on recherche des solutions de revue de code pour identifier les erreurs notamment au niveau des règles de codage et de nommage.
J'ai regardé des outils types CodeWizard de Parasoft, est ce vraiment puissant ? Ca a l'air d'être assez contraignant d'utilisation et surtout de ne pas proposer de solutions d'historiques, d'archivage, de métrique projet ....
Que me conseilleriez vous comme outils ?
@+ et merci
Re: [Revue de code] Quels outils pour de grosses applis?
Citation:
Envoyé par franckR
Bonjour,
Je travaille sur le développement d'une appli en C & C++. (6 millions de lignes de code)
On se rend compte qu'il y a pas mal de problèmes.
Du coup on recherche des solutions de revue de code pour identifier les erreurs notamment au niveau des règles de codage et de nommage.
J'ai regardé des outils types CodeWizard de Parasoft, est ce vraiment puissant ? Ca a l'air d'être assez contraignant d'utilisation et surtout de ne pas proposer de solutions d'historiques, d'archivage, de métrique projet ....
Que me conseilleriez vous comme outils ?
Je ne sais pas quel compilateur tu utilises, mais certains permettent déjà quelques contrôles qui 'font le ménage'. Par exemple, avec gcc:
-W -Wall -O2
Une fois qu'on a supprimé efficacement (c'est à dire pas à coup de cast sauvages, mais en cherchant à comprendre le pourquoi du comment) les 20 000 warnings, on peut passer à un outils plus pointu comme PCLint. Même punition.
Ensuite, plutôt que d'utiliser des logiciels d'analyse hors de prix, je suggère une revue 'fonctionelle' du code en mettant en place un plan de tests unitaire sérieux (en commençant bien sûr par les fonctions les plus 'profondes : driver matériel, bibliothèques)
- cas 'normaux' (nominaux et extrêmes)
- cas erronés (Hors limites)
Ca aussi, ça fait le ménage.
Mais j'ai du mal à croire qu'un projet de 6 Mlignes ne dispose pas déjà de ce plan de tests unitaires...
Enfin, une instrumentation du code (efence, purify, etc.) permet de vérifier la gestion des ressources dynamiques.