Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

La ligne de code est-elle la meilleure unité de mesure d'un projet informatique ?
Un diagramme les classe suivant l'importance de leur code source

Le , par Stéphane le calme

5PARTAGES

4  2 
L'infographiste David McCandless a publié un diagramme classant les logiciels informatiques et les sites web suivant l'importance de leur code source, du plus petit nombre de lignes de code (un simple jeu pour iPhone) au plus important (le site web healthcare.gov).

Pour réaliser ce travail, il s'est inspiré de diverses sources parmi lesquelles la NASA, Quora, Ohloh ou encore des rapports de presse. Cinq catégories sont représentées par des couleurs différentes pour différencier les systèmes d'exploitation, les jeux vidéo, les applications, les navigateurs web et les machines. Des arcs ont également été apposés pour montrer l'évolution du code à travers le temps (comme le noyau Linux, Windows ou encore Microsoft Office).

Le diagramme révèle par exemple que le nombre moyen de lignes pour réaliser une application iPhone se compte en centaines de milliers. Avec plus de 50 millions de lignes de code pour sa plateforme, le réseau social Facebook est classé devant des systèmes d'exploitation comme Windows 7 ou Windows XP, qui requièrent chacun un peu moins de 40 millions de lignes de code.


La ligne de code est un indicateur. C'est un élément, parmi d'autres, qui est souvent employé pour quantifier l'effort qui sera exigé pour développer un programme informatique, ainsi que pour estimer la valeur d'un logiciel produit.

A comparer les codes

Code : Sélectionner tout
var result = methodOne(methodTwo(a, methodThree(b)), c, d);


et

Code : Sélectionner tout
1
2
3
var result3 = methodThree(b); 
var result2 = methodTwo(a, result3); 
var result = methodOne(result2, c, d);
Lequel vous semble le plus efficace ? Un exemple encore plus simple pour établir une comparaison.

Code : Sélectionner tout
for (i=0; i<100; ++i) printf("hello"); /* Ici 1 ligne de code */
et

Code : Sélectionner tout
1
2
3
4
for (i=0; i<100; ++i) 
{ 
    printf("hello"); 
} /* Ici 4 lignes de code */
Sources : Information Is Beautiful(Diagramme complet), [URL="http://programmers.stackexchange.com/questions/203684/is-fewer-lines-of-code-always-better"]Stackexchange[/URL.

Et vous ?

La ligne de code est-elle la meilleure unité de mesure d'un projet informatique ?

Quelle est, selon vous, la meilleure unité de mesure possible ?

Une erreur dans cette actualité ? Signalez-le nous !

Avatar de
https://www.developpez.com
Le 31/10/2013 à 11:43
Eh ben je propose cette façon de mesurer

14  0 
Avatar de moldavi
Membre expert https://www.developpez.com
Le 30/10/2013 à 21:24
Citation Envoyé par Stéphane le calme Voir le message


Et vous ?

La ligne de code est elle la meilleure unité de mesure d'un projet informatique ?

Non certainement pas. Ca peut donner une idée sur l'ampleur, mais c'est tout. D'ailleurs comparer le nombre de lignes de code C/C++ avec du php, faut être téméraire.

Pour moi, que Facebook ait plus de ligne de code qu'un OS comme Windows, me conforte dans l'idée que le développement Web, c'est encore plus de la bidouille que le développement d'application classique. Je dirai même qu'aujourd'hui le développement Web a atteint des sommets de bidouillages extrêmes... ( C'est peut-être pour cela qu'ils sont tous à fond sur le html5...).

Avec le designer Visual Studio (en windowsForm) , je te ponds 1000 lignes de code en 1 minute... Juste quelques clicks de souris.

Citation Envoyé par Stéphane le calme Voir le message


Quelle est, selon vous, la meilleure unité de mesure possible ?

Il n'y en a a pas. Le développement, ça tient plus de l'art que du travail à la chaîne. C'est inquantifiable. Mais bon il y en a qui cherche à quantifier, peut-être qu'un jour ils y arriveront... Ce jour là, je leur dirai bravo.
12  1 
Avatar de koyosama
Membre éprouvé https://www.developpez.com
Le 30/10/2013 à 19:56
Moi je dis la meilleur unité de mesure doit-être les ticket de bugs sur la même année de production ().
9  0 
Avatar de transgohan
Expert éminent https://www.developpez.com
Le 30/10/2013 à 18:50
Toute seule elle ne sert à rien et n'est représentative de rien.
7  0 
Avatar de SylvainPV
Rédacteur/Modérateur https://www.developpez.com
Le 30/10/2013 à 19:32
Savoir résoudre un problème en exprimant la solution sous sa forme la plus simple est une marque d'intelligence, une qualité indéniable pour tout codeur.

Mais la ligne de code en soi n'est pas un indice suffisant. Il faudrait fixer des règles précises pour l'indentation, le nommage, les sauts de ligne et la factorisation des fonctions. Puis s'assurer que le code suit parfaitement toutes ces règles. Enfin, on pourrait comparer ce qui est comparable. Mais la comparaison ne devrait pas se faire sur le nombre de lignes de code, plutôt sur le temps d'assimilation par un tiers.

Enfin, survoler en diagonale un code et regarder le nombre de lignes à la fin reste un moyen assez efficace pour se faire une première idée de la qualité du code.
4  0 
Avatar de Kropernic
Expert confirmé https://www.developpez.com
Le 31/10/2013 à 9:58
Perso, ça fait 2 ans que je me bats avec ma hiérarchie pour leur faire comprendre que prendre le nombre de lignes de code écrites par an comme KPI n'est vraiment pas une bonne idée.

C'est le meilleur moyen pour finir par arrêter d'écrire la moindre fonction/procédure et faire des copier/coller dans tous les sens. Bonjour la maintenabilité quand il faudra on se tromper dans un petit calcul de merde qui aurait pu faire l'objet d'une fonction et qui se trouve à 36000 endroit dans l'application.

Bref, le comptage du nombre de ligne de code est à proscrire pour moi !
4  0 
Avatar de Zefling
Membre expert https://www.developpez.com
Le 30/10/2013 à 19:56
Ça peut rien dire, quand passes 2 jours pour réduire de 3000 lignes ton codes, en l'améliorant. Le nombre de ligne peut donner une idée de la quantité de travaille, mais je mettrais le temps hommes avant le nombre de lignes comme indice.

Quand tu bosses sur un algo, ça peut te prendre un temps bien plus long pour écrire 15 lignes, que les 1000 qui vont te servir à faire un rendu dans une interface.

Bref, pour moi, seul, ça ne veut pas dire grand-chose.
3  0 
Avatar de Kearz
Membre expert https://www.developpez.com
Le 31/10/2013 à 9:24
Moi par exemple je préfère un bon: if(..) else(..) plutôt qu'un (..)?'':''.
Je trouve que c'est plus rapide à comprendre quand on lit le code en diagonale pourtant ça n'a rien de mieux d'un point de vu technique. Et il y a une différence de ligne de code non négligeable.

Donc en quoi la ligne de code serait bien pour mesurer?
3  0 
Avatar de koyosama
Membre éprouvé https://www.developpez.com
Le 30/10/2013 à 22:22
J'ai envie de dire aussi qu'un projet informatique c'est l'infrastructure aussi.
Parce que Facebook, c'est aussi de l'optimisation à l’extrême. Je sais même pas si on peut parler de projets.

Parce que les boites pub qui viennent me demander de faire concurrence à facebook car dans leur lit ils ont rêvé d'un produit. J'ai juste envie d'éclater de rire.

Premièrement Facebook a son propre compilateur et interpréteur PHP. Je parle même pas des optimisations faites avec Cassandra et autre serveur web. Ensuite il participe dans l'énergie renouvelable pour payer moins de d'énergies.

Je pense qu'un projet est mesurable mais qu'on cache souvent la vérité car on n'arrive pas à faire comprendre aux gens le coût. D'ailleurs c'est dans leur métier de ne pas comprendre.

En plus j'ai envie dire pourquoi on compare la complexité d'un système d'exploitation et d'une plateforme web. C'est comme si on comparait ma mère et ma soeur.

En plus, mon métier est limité par ma culture générale. Je ne suis pas spécialiste de chaque métier. Les clients s'attendent toujours à ce qu'on comprennent immédiatement leur compléxité (l'ironie c'est qu'ils en ont parfois rien f***** du notre complexité à nous) donc cela demande des échanges. Il faut le mesurer aussi.

Il y a l'analyse, les test l'IHM, la ressource humaine, la communication de celle-ci. Mais surtout ce qu'on oublie dans projet web par exemple est aussi le SEO. Il y a aussi la sécurité.

Mais comme dis au dessus, on bidouille plus qu'on développe. Depuis mon insertion professionnel, je n'ai jamais entendu parler d'UML ou encore de Merise, vous allez être surpris mais aussi de tests unitaires (j'ai pas eu de chance).

Allons plus loin aussi, allons voir ce que font les grands groupes. Alors eux c'est du sport international, ils ont un truc qui s'appelle le patent troll, les actionnaires (alors quand on me détruit des projets car cela plait pas aux actionnaires, on y juste mis 1 an dessus), les utilisateurs aussi (je crois que l'exemple même est windows 8.1 et xbox one).

Il y a aussi l'impact économique ( je suis désolé, je n'ai pas 60 millions de dollars à donner comme google ).

Alors je crois que celui qui dit que c'est du code, il faut allez le pendre à un arbre.
2  0 
Avatar de el_slapper
Expert éminent sénior https://www.developpez.com
Le 31/10/2013 à 10:21
Citation Envoyé par Kropernic Voir le message
Perso, ça fait 2 ans que je me bats avec ma hiérarchie pour leur faire comprendre que prendre le nombre de lignes de code écrites par an comme KPI n'est vraiment pas une bonne idée.

C'est le meilleur moyen pour finir par arrêter d'écrire la moindre fonction/procédure et faire des copier/coller dans tous les sens. Bonjour la maintenabilité quand il faudra on se tromper dans un petit calcul de merde qui aurait pu faire l'objet d'une fonction et qui se trouve à 36000 endroit dans l'application.

Bref, le comptage du nombre de ligne de code est à proscrire pour moi !
J'ai la chance de ne jamais avoir été confronté à ça. Clairement, c'est foireux. Parfois il vaut mieux rajouter des lignes de code. Parfois, non. et encore, la décision dépendra aussi de la priorité : lisibilité, performance, respect des normes.....

Le nombre de lignes de code est une mesure approximative de la quantité de bazar à gérer en maintenance, c'est tout. Et encore, pas d'une grande précision.
2  0