Eines der besten Fachbücher, die ich jemals gelesen habe, ist Refactoring: Improving the Design of Existing Code von Martin Fowler, Kent Beck et. al. von 1999. Vereinfacht ausgedrückt bezeichnet Refactoring die Kunst, die interne Struktur eines Programms zu verbessern, ohne sein Verhalten zu ändern. Anlässlich der zweiten Auflage nach 20 Jahren Refactoring: Improving the Design of Existing Code, 2nd Edition, in der sich Martin Fowler stärker auf JavaScript fokussiert, möchte von einem besonders plastischen Beispiel aus unserer Praxis berichten.
Wir werden von Kunden bisweilen beauftragt, die Performance von bestehenden Anwendungen zu verbessern. Häufig sind das Anwendungen, die teilweise seit zehn oder mehr Jahren ihren Dienst versehen. Eine dieser Anwendungen erhielt über Webservices eine XML-Datei, in der wiederum Base64 kodiert ein PDF-Dokument eingebettet ist. Das PDF-Dokument beinhaltet eingescannte Gutachten und Dateigrößen der XML-Datei von 6MB sind eher die Regel als die Ausnahme. Wir wurden unter anderem beauftragt, weil die Verarbeitung einer solchen XML-Datei 12,5 Minuten dauerte.