- Homepage (optional): https://maibornwolff.github.io/codecharta/
- Metrics Dokumentation (evtl. optional): https://maibornwolff.github.io/codecharta/docs/metrics/
- Analyse-Tool: https://maibornwolff.github.io/codecharta/visualization/app/index.html
- Analyse-Datei: https://feststelltaste.de/share/spring_petclinic_cc.json
Bitte Analyse-Datei downloaden und in CodeCharta über Ordner-Symbol (links oben) laden.
Findet heraus, ob in der Anwendung Kopfmonopole vorherrschen, indem ihr die Code-Basis visualisiert und die Anzahl der Autoren darstellt.
- Zum Warmwerden: Welche drei Quellcodedateien sind am größten?
- Für welche drei Dateien oder sogar Module gibt es potenziell am wenigsten Entwickler, die Code geändert haben (aka "wo sind Kopfmonopole")?
- Was ist euere Einschätzung und Empfehlung für die nächsten Schritte?
Schreibt eure Erkenntnise auf Sticky Notes, um sie später mit anderen Teilnehmenden zu teilen!
- Homepage: https://codescene.com/
- Metrics Dokumentation: https://codescene.io/docs/terminology/codescene-terminology.html#technical-analyses-hotspots-code-health-and-change-coupling
- Analyse: https://codescene.io/projects/1553/jobs/7546/results
Findet heraus, ob in der Anwendung besonders komplexer Code vorhanden ist, der zudem auch noch häufig geändert wird. Entdeckt zudem versteckte Code-Abhängigkeiten!
- Zum Warmwerden: Welche Quellcode-Dateien sind Code-Hotspots? (Geht für zu Code -> Hotspots).
- Welche Quellcode-Dateien werden größtenteils immer miteinander geändert (und stellen damit potenziell eine versteckte Code-Abhängigkeit dar)? (Geht dafür zu Code -> Change Coupling)
- Was ist euere Einschätzung und Empfehlung für die nächsten Schritte?
Schreibt eure Erkenntnise auf Sticky Notes, um sie später mit anderen Teilnehmenden zu teilen!
- Analyse-Notebook: https://mybinder.org/v2/gh/feststelltaste/software-analytics/master?filepath=demos/Production%20Coverage%20Exercise.ipynb
In einer produktions-nahen Installation wurde für die Software mit Hilfe des Code-Coverage-Tools "jacoco" ein Bericht über die durchlaufenen Code-Zeilen bei der Nutzung durch simulierte User erstellt. Ihr habt den dazugehörigen Datensatz und sollt darauf aufbauend herausfinden, welche Teile der Anwendung für eure Use-Cases nicht verwendet werden, um diese später zu entfernen. Dazu wurde euch ein Analyse-Notebook gegeben, welches aber leider etwas rudimentär dokumentiert wurde (daher habt ihr hier auch etwas "Softwarearchäologie" vorzunehmen)
- Führt zuerst einzelnen Schritte durch (über Pfeil links oder über Ausführung mittels Strg+Enter in Zelle)
- Dokumentiert (kurz) nach, was in den einzelnen Schritten der Analyse passiert.
- Was ist euere Einschätzung und Empfehlung für die nächsten Schritte?
Schreibt eure Erkenntnise auf Sticky Notes, um sie später mit anderen Teilnehmenden zu teilen!
Source Code: https://github.com/feststelltaste/spring-petclinic