Il numero di linee di codice (, 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 ( LOC) e MLOC ( LOC).

Storia 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 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 linee con uno da , mentre ne ha poco paragonarne uno da con uno da .

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 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 Metriche software Codice sorgente Programmazione (informatica) Qualità del software

Collegamenti esterni

Categoria:Metodi di sviluppo software Categoria:Misure nell'informatica