Esiste una correlazione tra la complessità del codice e la produttività degli sviluppatori?

10

Il tempo impiegato per il refactoring di un codice base vale la pena a lungo termine, in termini di produttività degli sviluppatori?

Mi sembra abbastanza chiaro che la modifica di un sistema pulito e ben progettato sia molto più semplice e più veloce rispetto a un progetto mal progettato, ma sono alla ricerca di solide prove. Ci sono studi su questo argomento?

    
posta Benny Hallett 15.09.2011 - 03:17
fonte

2 risposte

16

Empiricamente, un software con metriche di complessità più elevate, come la complessità ciclomatica, è più difficile da mantenere. C'è una ricerca a sostegno di questo risale agli anni '70 ("Complessità del programma e produttività dei programmatori", ET Chen) . C'è anche un lavoro che suggerisce che densità di complessità, che è la complessità ciclomatica delle dimensioni del sistema, si riferisce anche ai tempi di manutenzione (" Densità della complessità ciclica e produttività della manutenzione del software ", GK Gill, CF Kemerer) , che è anche disponibile gratuitamente qui . Sfortunatamente, una sottoscrizione IEEE è necessaria per il lavoro di Chen, ma puoi provare a cercarlo su altre fonti se sei interessato.

Dal punto di vista della qualità, spesso vale la pena dedicare del tempo al refactoring, presupponendo di disporre di un framework di test per impedire l'introduzione di nuovi difetti. Ciò ti consentirà di implementare più facilmente nuove funzionalità nel tuo sistema, aggiungere ulteriori test e addestrare nuovi sviluppatori a lavorare.

In definitiva, tuttavia, c'è la pressione per fornire nuove funzionalità e valore aggiunto. È necessario bilanciare il refactoring con l'implementazione di nuove funzionalità e la riparazione dei difetti.

    
risposta data 15.09.2011 - 03:31
fonte
0

I'm after some solid evidence

Quindi smettila di perdere tempo qui.

  1. Trova un codice che è costoso da mantenere. È facile. Guarda i trouble ticket della tua organizzazione.

  2. Trova un codice che è economico da mantenere. Trova il codice che viene eseguito frequentemente, ma ha pochi o nessun ticket di problemi.

  3. Misura la complessità con uno qualsiasi degli strumenti di complessità ampiamente disponibili.

  4. Crogiolarsi nelle prove.

Ora hai fornito i numeri per confermare l'ovvio.

    
risposta data 15.09.2011 - 11:57
fonte

Leggi altre domande sui tag