Linee di codice

metrica software

Il numero di linee di codice (in inglese source lines of code, SLOC, o più brevemente LOC) è una metrica software che misura le dimensioni di un software basandosi sul numero di linee di codice sorgente. Questo metodo di misura viene utilizzato per stabilire la complessità di un software e per stimare le risorse necessarie per la produzione e il mantenimento del software.

Se il software è di grandi dimensioni, possono essere utilizzate anche le unità di misura KLOC (1 000 LOC) e MLOC (1 000 000 LOC).

Il conteggio delle SLOC come metrica è nato con i linguaggi tradizionali line-oriented (FORTRAN, linguaggio assembly, C). In questi casi la misura delle linee di codice dava effettivamente una fotografia veritiera delle complessità del software. Oggi con la programmazione orientata agli oggetti non è più così vero. È chiaro però che la SLOC risultano la metrica di complessità del codice più facile da misurare automaticamente. Queste caratteristiche fanno sì che sia ancora molto usata.

Metodi di misurazione

modifica

Va detto che la misura delle SLOC è utile per definire un ordine di grandezza del codice ma non per fornire una misura esatta di un progetto software. A tal riguardo ha senso usare le linee di codice per confrontare un progetto di 10 000 linee con uno da 100 000, mentre ne ha poco paragonarne uno da 20 000 con uno da 21 000.

Ci sono due tipi di misure di SLOC:

  • Physical SLOC: si contano tutte le righe di testo del codice sorgente includendo anche i commenti e le linee bianche se la loro percentuale non supera il 25% delle linee.
  • Logical SLOC: si contano gli statements, ovvero le effettive istruzioni (per esempio in C si considera SLOC ogni istruzione terminante con ;)

Consideriamo per esempio questo frammento di codice C:

for (i=0; i<100; ++i)
    printf("hello");

In questo esempio abbiamo:

  • una physical line of code
  • due logical line of code (un for e una printf)

In questo esempio invece lo stesso codice è scritto con uno stile diverso:

for (i=0; i<100; ++i)
{
    printf("hello");
}

Le SLOC saranno:

  • quattro physical line of code
  • due logical line of code

Voci correlate

modifica

Collegamenti esterni

modifica