Mi è stato chiesto di valutare ciò che sembra essere una base di codice legacy sostanziale, come un precursore di prendere un contratto mantenendo tale base di codice.
Questa non è la prima volta che mi trovo in questa situazione. Nella fattispecie, il codice è per un sito di gioco multiplayer di alto profilo e abbastanza alto carico, che supporta almeno diverse migliaia di giocatori online contemporaneamente. Come molti di questi siti, questo è un mix di tecnologie front-end e back-end.
La struttura del sito vista dall'interno verso l'esterno, è un casino. Ci sono cartelle con il suffisso "_OLD" e "_DELETE" in tutto il luogo. Molte delle cartelle sembrano non avere alcuno scopo o hanno nomi molto criptici. Potrebbero esserci un numero qualsiasi di script vecchi e inutilizzati in giro anche in cartelle dall'aspetto legittimo. Non solo, ma ci sono senza dubbio molte sezioni di codice defunte anche in script altrimenti operativi (una preoccupazione molto meno urgente).
Si tratta di una consegna da parte dei manutentori storici, di nuovo agli sviluppatori / manutentori originali del sito. Com'è comprensibilmente tipico in questo tipo di scenari, l'operatore storico non vuole avere nulla a che fare con il passaggio di consegne diverso da quello che è loro richiesto contrattualmente e legalmente di spingerlo al manutentore neoeletto. Quindi estrarre informazioni sulla struttura del sito esistente dall'operatore storico è semplicemente fuori discussione.
L'unico approccio che viene in mente per entrare nella base di codice è iniziare dalla radice del sito e navigare lentamente ma sicuramente attraverso gli script collegati ... e probabilmente ce ne sono centinaia in uso e altre centinaia che non lo sono. Dato che una parte sostanziale del sito si trova in Flash, ciò è ancora meno semplice poiché, in particolare nelle applicazioni Flash meno recenti, i collegamenti ad altri script possono essere incorporati nei file binari (.LLA) anziché nei file di testo (.AS / ActionScript).
Quindi mi chiedo se qualcuno abbia suggerimenti migliori su come affrontare la valutazione della base di codice nel suo insieme per la manutenibilità. Sarebbe meraviglioso se ci fosse un modo per guardare un grafico della frequenza di accesso ai file sul sistema operativo del server web (a cui ho accesso), in quanto ciò potrebbe offrire una visione di quali file sono più critici, anche se non lo farebbe essere in grado di eliminare quei file che non sono mai stati utilizzati (poiché alcuni file potrebbero essere utilizzati solo una volta all'anno).