Mi è stato chiesto di eseguire una revisione del codice di circa 50 applicazioni per un periodo di 6 settimane. (La gestione è cambiata e il nuovo CTO ha richiesto un audit completo del software interno)
Mi chiedo, quali sono le aree chiave per la valutazione del software? (L'attenzione dovrebbe essere puramente sulla qualità della base di codice e non ad esempio come è stata implementata)
Nota: questa è non la stessa domanda di "Quali sono le 9 o 10 qualità del software?".
Le prime cose che mi sono venute in mente sono:
- Leggibilità del codice (variabile descrittiva / metodo / nomi di classi, commenti, ecc.)
- Layering (dati / business / interfaccia utente)
- Configurazione (senza hardcoding)
- Livello sufficiente di astrazione (per rimanere flessibile)
- Organizzazione del codice
- Uso di librerie di terze parti (approvate o meno, ecc.)
- Separazione delle preoccupazioni
- Copertura del test (se applicabile)
- Modularità del codice
- Penalità per violazione di principi come "ASCIUTTA"
- ...
Apprezzerò le tue risposte per aiutarmi a identificare un ampio elenco di quelle che pensi siano le aree chiave per la valutazione del software.