Source lines of code

Da Wikipedia, l'enciclopedia libera.

Source lines of code (SLOC, dall'inglese Linee di codice sorgente) è 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.

Misura delle SLOC[modifica | modifica wikitesto]

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"); /* How many lines of code is this? */

In questo esempio abbiamo:

  • 1 Physical Lines of Code
  • 2 Logical Lines 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");
} /* Now how many lines of code is this? */

Le SLOC saranno:

  • 4 Physical Lines of Code
  • 2 Logical Lines of Code

Origine delle SLOC[modifica | modifica wikitesto]

Il conteggio delle SLOC come metrica è nato con i linguaggi tradizionali line-oriented (FORTRAN, assembler, C). In questi casi la misura delle linee di codice dava effettivamente una fotografia veritiera delle complessità del software. Oggi con i paradigmi ad 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.

Voci correlate[modifica | modifica wikitesto]