title: Linee di codice
text: # Linee di codice
  
  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).
  
  ## Misura delle SLOC
  
  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:
  
  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:
  
  Le SLOC saranno:
  
  * 4 Physical Lines of Code
  * 2 Logical Lines of Code
  
  ## Origine delle SLOC
  
  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.
  
  