Il primo giorno, nessuno riusciva a entrare
Il mio primo giorno sul progetto nessuno riusciva più a fare login. Collegato al server via SSH, ho escluso le cause una alla volta: la cache delle rotte era stata generata in modalità debug e mai rigenerata, così il JavaScript del login non si caricava.
L’ho risolto e l’ho trasformato in una regola di rilascio, perché non succeda più.
Fatture con lo stesso numero
La numerazione delle fatture produceva doppioni. L’ho corretta con un lock sul database, così due emissioni contemporanee non possono prendere lo stesso numero.
Giacenze e prezzi a prova di errore
Un solo servizio può scrivere le giacenze, sempre dentro una transazione. I prezzi vengono ricontrollati sul server, così non si possono manomettere dal browser.
Rilasci prudenti
Prima di ogni rilascio faccio un backup e provo le migration avanti e indietro su una copia della produzione. In un solo rilascio ne sono passate 27.
Codice di altri, senza riscriverlo
Circa 39.000 righe di componenti scritti da altri. Ho seguito le loro convenzioni invece di imporre le mie, così il codice resta coerente.