Читать книгу Prinzipien des Softwaredesigns - John Ousterhout - Страница 12
Komplexität ist inkrementell
ОглавлениеKomplexität wird nicht durch einen einzelnen katastrophalen Fehler ausgelöst – sie summiert sich in kleinen Häppchen auf. Eine einzelne Abhängigkeit oder Unklarheit wird für sich allein die Wartbarkeit eines Softwaresystems eher wenig beeinflussen. Komplexität entsteht aus Hunderten oder Tausenden kleinen Abhängigkeiten und Unklarheiten, die mit der Zeit entstehen. Schließlich gibt es so viele dieser kleinen Problemchen, dass jede mögliche Änderung am System durch diverse dieser Probleme beeinträchtigt wird.
Die inkrementelle Natur der Komplexität macht es schwer, sie im Griff zu behalten. Sie können sich leicht einreden, dass das kleine bisschen Komplexität, das Sie durch Ihre aktuelle Änderung in das System bringen, kein Problem ist. Aber wenn jeder Entwickler und jede Entwicklerin diesen Ansatz bei jeder Änderung verfolgt, summiert sich die Komplexität schnell auf. Und ist das geschehen, kann man sie nur schwer wieder loswerden, da das Beheben einer einzelnen Abhängigkeit oder Unklarheit im Gesamtkontext keinen großen Unterschied machen wird. Um das Wachsen der Komplexität zu verringern, müssen Sie eine »Null-Toleranz-Philosophie« verfolgen, wie wir sie in Kapitel 3 besprechen.