[go: up one dir, main page]

Ligne de code

métrique logicielle

La ligne de code, ou ligne de code source (SLOC en anglais) est une métrique logicielle servant à mesurer la taille d’un programme informatique en dénombrant le nombre de lignes de son code source.

Les lignes de code sont habituellement employées pour quantifier l'effort qui sera exigé pour développer un programme informatique, ainsi que pour estimer la valeur d'un logiciel produit.

Difficulté de la mesure

modifier

La ligne de code est un indicateur. Il est imparfait, et comporte des défauts. Cependant, c'est un élément, parmi d'autres, qui permet d'évaluer le coût d'un programme.

Il y a plusieurs manières de mesurer la taille d'un programme[1]:

  • nombre de lignes contenues dans les fichiers source : lignes physiques terminées par un retour chariot.
  • nombre de lignes de code contenues dans les fichiers source : lignes physiques - lignes vides - lignes contenant seulement des Commentaires (informatique).
  • nombre de lignes de code avec des instructions contenues dans les fichiers source : lignes physiques - lignes vides - lignes contenant seulement des commentaires - lignes contenant seulement des accolades ou parenthèses.
  • nombre d'instructions

Incertitudes liées aux programmeurs

modifier

Suivant les programmeurs et leurs habitudes de programmation, le nombre de lignes peut varier.

Exemple :

for (i=0; i<100; ++i) printf("hello"); /* Ici 1 ligne de code */

Donne le même résultat que :

for (i=0; i<100; ++i)
{
    printf("hello");
} /* Ici 4 lignes de code */

Cette différence en apparence importante (on passe d'une ligne à quatre) dans cet exemple, simple, s'estompe avec des programmes plus importants, de plusieurs milliers de lignes.

Incertitudes liées au langage de programmation

modifier

Le nombre de lignes de code source nécessaires pour mettre en œuvre une opération donnée dépend du langage de programmation dans lequel est écrit le code. Une opération écrite en 30 lignes en langage Smalltalk nécessitera 50 lignes en langage Java, 80 lignes en COBOL, 140 lignes en C et 210 lignes en assembleur[2].

Suivant le langage utilisé, le nombre de lignes nécessaires peut considérablement différer.

Par exemple entre le C et le COBOL :

Langage C COBOL
Code
#include <stdio.h>

int main(void) {

   printf("Hello World");
   return 0;
}
000100 IDENTIFICATION DIVISION.
000200 PROGRAM-ID. HELLOWORLD.
000300
000400*
000500 ENVIRONMENT DIVISION.
000600 CONFIGURATION SECTION.
000700 SOURCE-COMPUTER. RM-COBOL.
000800 OBJECT-COMPUTER. RM-COBOL.
000900
001000 DATA DIVISION.
001100 FILE SECTION.
001200
100000 PROCEDURE DIVISION.
100100
100200 MAIN-LOGIC SECTION.
100300 BEGIN.
100400     DISPLAY " " LINE 1 POSITION 1 ERASE EOS.
100500     DISPLAY "Hello world!" LINE 15 POSITION 10.
100600     STOP RUN.
100700 MAIN-LOGIC-EXIT.
100800     EXIT.
Nombre de lignes (sans compter les espaces) 5 17

Mesure alternative

modifier

Une autre unité de mesure est l'année-homme, c'est-à-dire le nombre d'années de programmation pour un programmeur unique. Par exemple, et en théorie, un programme de 20 années-hommes pourrait être réalisé en 20 ans par un programmeur unique, ou en un an par une équipe de 20 programmeurs.

Cependant cette notion théorique comporte dans la pratique ses limites comme l’a souligné Frederick Brooks dès 1975 dans son livre Le Mythe du mois-homme. Il y explique que toute tâche n’est pas forcément fractionnable, et que l’ajout de personnel introduit par exemple des délais supplémentaires en formation, et en coordination qui peuvent fortement réduire la productivité.

Voir aussi

modifier

Article connexe

modifier

Notes et références

modifier