Ich wurde gebeten, eine wesentliche ältere Codebasis zu bewerten, um einen Vertrag zur Aufrechterhaltung dieser Codebasis abzuschließen.
Dies ist nicht das erste Mal, dass ich in dieser Situation bin. Im vorliegenden Fall handelt es sich um einen Code für eine relativ hochkarätige und ziemlich gut ausgelastete Multiplayer-Spieleseite, die mindestens mehrere tausend Spieler gleichzeitig online unterstützt. Wie viele solcher Sites ist auch diese eine Mischung aus Front-End- und Back-End-Technologien.
Die Site-Struktur von innen nach außen ist ein Chaos. Überall liegen Ordner mit den Suffixen "_OLD" und "_DELETE". Viele der Ordner scheinen keinen Zweck zu erfüllen oder haben sehr kryptische Namen. Es können beliebig viele alte, nicht verwendete Skripte in legitim aussehenden Ordnern herumliegen. Darüber hinaus gibt es zweifellos viele nicht mehr funktionierende Codeabschnitte, selbst in ansonsten funktionsfähigen Skripten (ein weitaus weniger dringendes Problem).
Dies ist eine Übergabe der etablierten Betreuer an die ursprünglichen Entwickler / Betreuer der Site. Wie in solchen Szenarien verständlicherweise üblich, möchte der etablierte Betreiber mit der Übergabe nur das zu tun haben, was von ihm vertraglich und rechtlich vorgeschrieben ist, um sie an den neu gewählten Betreuer weiterzuleiten. Es kommt also nicht in Frage, Informationen über die vorhandene Site-Struktur aus dem etablierten Unternehmen zu extrahieren.
Der einzige Ansatz, der mir einfällt, um in die Codebasis zu gelangen, besteht darin, im Stammverzeichnis der Site zu beginnen und langsam, aber sicher durch verknüpfte Skripte zu navigieren. Wahrscheinlich werden Hunderte verwendet, Hunderte weitere jedoch nicht. Da sich ein erheblicher Teil der Website in Flash befindet, ist dies noch unkomplizierter, da Verknüpfungen zu anderen Skripten, insbesondere in älteren Flash-Anwendungen, möglicherweise in Binärdateien (.FLAs) und nicht in Textdateien (.AS / ActionScript) eingebettet sind.
Ich frage mich daher, ob jemand bessere Vorschläge dazu hat, wie die gesamte Codebasis auf Wartbarkeit überprüft werden kann. Es wäre wunderbar, wenn es eine Möglichkeit gäbe, ein Diagramm der Zugriffshäufigkeit auf Dateien auf dem Betriebssystem des Webservers (auf das ich Zugriff habe) anzuzeigen, da dies möglicherweise einen Einblick in die wichtigsten Dateien bietet, auch wenn dies nicht der Fall ist in der Lage sein, jene Dateien zu eliminieren, die niemals verwendet werden (da einige Dateien nur einmal im Jahr verwendet werden könnten).