Abstract

Der Artikel beschreibt sehr gut wie man mit der Software inFusion und CodeCity Schwächen in der Architektur von Programmen erkennen kann. Der Artikel geht dabei nicht auf die Benutzung oder Installation der Programme ein sondern erwähnt ohnehin nur CodeCity und erklärt nach welchen Regeln die Visualisierung erfolgt. Es wird detailliert auf die Disharmonien "God Class", "Data Class", "Brain Class", "Brain Method", "Feature Envy" und "Shotgun Surgery" eingegangen. Es wird ebenfalls klar herausgestellt, dass nicht die blose Existenz der Disharmonien zu monieren ist sondern es auf die Anzahl der betroffenen Klassen im Verhältnis zur Anzahl aller Klassen ankommt. In diversen kleinen Randkästen werden zusätzliche Hinweise gegeben - zum Beispiel zur Installation oder zu weiteren Konzepten.

Description

Bei der Visualisierung bestimmt die Anzahl der Attribute einer Klasse die Größe der Grundfläche eines Gebäudes. Die Höhe des Gebäudes wird aus der Anzahl der Methoden einer Klasse abgeleitet. Der Grad der Blaufärbung der Gebäude ergibt sich aus den Lines of Code. Die Stadt selbst wird in Bezirke eingeteilt welche sich aus den Packages ergeben. Natürlich lässt sich aus der Visualisierung nicht ableiten was schlecht und was gut ist. Aber wenn die Programmierrichtlinien zu vielen kleinen Stadtteilen führen sollten und in der Visualisierung ein großer Stadtteil erscheint, weiss man da ist was schief gelaufen. Der große Vorteil dieser Methode liegt darin, dass ein manueller Kodereview oft viel zu lange dauern würde und man hinterher doch kaum verstanden hat was man alles gelesen hat. Die Visualisierung hingegen kann in kurzer Zeit erstellt werden. Extreme lassen sich dadurch schnell erkennen und gezielt prüfen - beispielsweise riesige Hochhäuser umgeben von wenigen kleinen. Auch die Historie kann mit ausgewertet werden. Gelöschte Methoden im SCM werden als Löcher dargestellt.

Links and resources

Tags