Ogni pochi anni l'industria decide collettivamente che tutto ciò che abbiamo fatto è sbagliato e che esiste un modo migliore. Nuovi framework, nuovi paradigmi, nuovi strumenti di costruzione. Il cambiamento è implacabile e, se non stai attento, dedichi più tempo alla migrazione che alla costruzione.
Scrivo software da abbastanza tempo da aver visto molti di questi cicli. jQuery to Backbone to Angular per reagire a qualunque cosa accada dopo. Ogni transizione sembrava urgente in quel momento. Guardando indietro, le cose che contavano davvero raramente riguardavano la struttura.
Ciò che sopravvive
Sopravvivono modelli di dati puliti. Sopravvivono chiari confini tra i sistemi. La buona denominazione sopravvive. La decisione di mantenere le cose semplici quando avresti potuto renderle intelligenti, questo sopravvive sicuramente.
Ciò che non sopravvive è il codice scritto per impressionare, le astrazioni costruite per problemi che non si sono mai materializzati e le architetture progettate attorno alle opinioni di un framework piuttosto che alla realtà del dominio.
Il miglior codice che ho scritto è noioso. Si legge come la prosa, fa bene una cosa e non richiede un dottorato di ricerca in teoria delle categorie per essere compreso. Il codice peggiore che ho scritto era tecnicamente impressionante in quel momento.