OVH Cloud OVH Cloud

Statistiques d'un programme C++

30 réponses
Avatar
Zlika
Bonjour à tous
Je voudrais savoir s'il existe un petit programme permettant, à partir d'un
ensemble de fichiers sources, de calculer quelques statistiques telles que:
- nombre de lignes total
- nombre de lignes de codes
- nombre de lignes de commentaires
- nombre de lignes vides

Merci

Zlika

10 réponses

1 2 3
Avatar
Stan
"Aurelien Regat-Barrel" a écrit dans le message
de news: 43156d13$0$31029$
Juste une question : Quel est l'intérêt de ce genre de stats ?


Y'a eu un article là dessus dans CUJ je crois (avec SourceMonitor comme
exemple).
Apparement, dans certaines boites, le pourcentage de commentaires, le
nombre de fonctions membres par classe, etc... sont des critères de rejet
de code.

--
Aurélien Regat-Barrel


Cela ne me semble pas raisonnable.
Certaines boîtes adopte une méthode bien plus constructive et productive :
Par exemple, dans une équipe de développeurs, l'audit du code est effectué
par un autre
membre de l'équipe et réciproquement.

--
-Stan


Avatar
Stan
De: "Loïc Joly"

Je suis pas 100% d'accord, même s'il y a parfois de ça. Elle peuvent



Moi je suis à 100% d'accord avec moi ;-)

Autre exemple : Le projet A, semblable à celui ci, a demandé m1 mois pour
n1 lignes de codes. On en est actuellement à m2 mois pour n2 lignes,
est-ce qu'on s'améliore.




C'est justement l'exemple qu'il ne fallait pas donner.
A une époque on gratifiait un programmeur aux nombre de lignes
qu'il pouvait "pondre", aujourd'hui, la tendance est inversé.

De plus la méthode de la comparaison est rarement appliquable.

Sans mesure, d'une forme ou d'une autre, comment savoir si l'on
progresse.




Malheuresement ( ou heureusement ), certaines choses ne sont pas mesurables
ou quantifiables.
Rien ne vaut l'expertise humaine et

Bien entendu, comme tout outil, il faut l'utiliser à bon escient.




dans la pluspart des cas, les outils de ce genre ne sont finalement pas
très utiles.

--
-Stan


Avatar
plouf
n s'améliore.



C'est justement l'exemple qu'il ne fallait pas donner.
A une époque on gratifiait un programmeur aux nombre de lignes
qu'il pouvait "pondre", aujourd'hui, la tendance est inversé.



Heureusement, car c'était sûrement le meilleur moyen d'avoir des
programmes remplis de "copié-collés" avec des bugs qui doivent
être corrigés 50 fois.

Avatar
Zlika
Ben justement, mon intéret c'est de montrer au chef que j'ai pu refondre un
programme de 33000 lignes codés avec les pieds en 7000 lignes propres!

"plouf" a écrit dans le message de news:
q2pRe.28972$
n s'améliore.



C'est justement l'exemple qu'il ne fallait pas donner.
A une époque on gratifiait un programmeur aux nombre de lignes
qu'il pouvait "pondre", aujourd'hui, la tendance est inversé.



Heureusement, car c'était sûrement le meilleur moyen d'avoir des
programmes remplis de "copié-collés" avec des bugs qui doivent
être corrigés 50 fois.





Avatar
kanze
Stan ( remove the dots ) wrote:
De: "Loïc Joly"

Je suis pas 100% d'accord, même s'il y a parfois de ça.
Elle peuvent



Moi je suis à 100% d'accord avec moi ;-)

Autre exemple : Le projet A, semblable à celui ci, a
demandé m1 mois pour n1 lignes de codes. On en est
actuellement à m2 mois pour n2 lignes, est-ce qu'on
s'améliore.



C'est justement l'exemple qu'il ne fallait pas donner. A une
époque on gratifiait un programmeur aux nombre de lignes qu'il
pouvait "pondre", aujourd'hui, la tendance est inversé.


Ça dépend. Si on introduit un nouvel outil ou un changement dans
le processus de développement, il faut bien mesurer si la
productivité du programmeur a augmenté. Et jusqu'à ce qu'on
trouve quelque chose de mieux, une des mesures du productivite
des programmeurs, c'est bien le nombre de lignes de code qu'il
produit. (Évidemment, il faut contrôler les autres variables
aussi. Quand on compare le nombre de lignes avant et après, il
faut s'assurer que la qualité du code est le même aussi, que
c'est aussi bien documenté, etc.)

De plus la méthode de la comparaison est rarement appliquable.


Tu en as une meilleur ?

Sans mesure, d'une forme ou d'une autre, comment savoir si
l'on progresse.



Malheuresement ( ou heureusement ), certaines choses ne sont
pas mesurables ou quantifiables.


Peut-être, mais la productivité des programmeurs n'en est pas
une.

En fait, c'est rarement aussi noir et blanc. On mesure avec plus
ou moins de précision.

Rien ne vaut l'expertise humaine et

Bien entendu, comme tout outil, il faut l'utiliser à bon
escient.



dans la pluspart des cas, les outils de ce genre ne sont
finalement pas très utiles.


Ce n'est pas ce que disent les experts. Au contraire, des outils
de mesure sont essentiels si tu veux produire du logiciel de
qualité, à un prix prévisible.

--
James Kanze GABI Software
Conseils en informatique orientée objet/
Beratung in objektorientierter Datenverarbeitung
9 place Sémard, 78210 St.-Cyr-l'École, France, +33 (0)1 30 23 00 34



Avatar
kanze
Stan ( remove the dots ) wrote:
"Aurelien Regat-Barrel" a écrit
dans le message de news:
43156d13$0$31029$

Juste une question : Quel est l'intérêt de ce genre de stats ?


Y'a eu un article là dessus dans CUJ je crois (avec
SourceMonitor comme exemple). Apparement, dans certaines
boites, le pourcentage de commentaires, le nombre de
fonctions membres par classe, etc... sont des critères de
rejet de code.


Cela ne me semble pas raisonnable.


Ça dépend du contexte. Disons que de telles règles sont comme
les règles de codage : on a droit à les violer si (mais
seulement si) on peut en justifier le besoin. Donc, par exemple,
une règle du genre pas plus de quinze lignes de code dans une
fonction me semble raisonable, mais on finira bien par accepter
plus si la fonction ne contient qu'un switch avec une vingtaine
de case.

Certaines boîtes adopte une méthode bien plus constructive et
productive : Par exemple, dans une équipe de développeurs,
l'audit du code est effectué par un autre membre de l'équipe
et réciproquement.


La revue du code est une démarche essentielle. Mais les mesures
peuvent faciliter la tâche. Dès que la complixité de McCabe
monte, par exemple, je sais qu'il faut prêter particulièrement
attention. Il n'est même pas sans intérêt de dire que si la
complexité de McCabe dépasse un certain niveau, il faut que le
comité qui fait la revue s'exprime explicitement qu'il en a pris
connaissance, et que c'est justifié dans ce cas précis.

Même quelque chose d'aussi simple que le nombre de lignes peut
être un indicateur : si le nombre de lignes est trop élevé par
rapport à la complexité du problème, ou par rapport au temps
utilisé par le programmeur, par exemple, ça peut-être une
mauvaise signe.

--
James Kanze GABI Software
Conseils en informatique orientée objet/
Beratung in objektorientierter Datenverarbeitung
9 place Sémard, 78210 St.-Cyr-l'École, France, +33 (0)1 30 23 00 34



Avatar
plouf
....

Ce n'est pas ce que disent les experts.
Au contraire, des outils
de mesure sont essentiels si tu veux produire du logiciel de
qualité, à un prix prévisible.



D'après votre expérience, quelles sont les mesures les
plus significatives ? Et que représentent-elles exactement ?
(et comment sont-elles calculées ?)

Quelles sont celles qui ne servent pas ?

Si vous avez des liens interessants sur ce sujet, je suis
preneur.

Avatar
plouf
Ben justement, mon intéret c'est de montrer au chef que j'ai pu refondre un
programme de 33000 lignes codés avec les pieds en 7000 lignes propres!



Plus c'est court meilleur c'est.

Avatar
Fabien LE LEZ
On Fri, 02 Sep 2005 13:26:41 +0200, plouf :

Plus c'est court meilleur c'est.


Dans ce cas, je conseille fortement de supprimer les commentaires et
les espaces inutiles (sauts de ligne, identation, ...)

Avatar
plouf
On Fri, 02 Sep 2005 13:26:41 +0200, plouf :


Plus c'est court meilleur c'est.



Dans ce cas, je conseille fortement de supprimer les commentaires et
les espaces inutiles (sauts de ligne, identation, ...)
Exactement :-D


Ca me fait penser à un article que j'avais lu qui expliquait
que le fait d'introduire un moyen d'évaluation entrainait
systèmatiquement des mauvais comportements.

Je viens de le retrouver, le voilà :
(C'est de l'anglais)
http://www.joelonsoftware.com/news/20020715.html


1 2 3