Files
asv-format-validator/docs/arbeitspakete/m1/AP01-ist-stand-inventar.md

63 lines
2.9 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# AP01 Ist-Stand-Inventar und Delta-Analyse
## Ziel
Den **tatsächlichen Ist-Zustand** der bestehenden Code-Basis vollständig erfassen und ein **Delta** zum M1-Soll dokumentieren, bevor irgendetwas umgebaut wird. Ohne dieses AP besteht das Risiko, dass spätere APs an der Realität vorbeiplanen.
## Voraussetzungen
- keine (erstes AP)
## Scope IN
- vollständige Dateiliste unter `src/main/java/` und `src/test/java/` mit Kurzbeschreibung jeder Klasse (ein Satz pro Klasse)
- Auflistung aller externen Dependencies aus `pom.xml` inkl. Versionen
- Identifikation aller Stellen, an denen Log4j2-Typen (`org.apache.logging.log4j.*`) direkt importiert werden
- Identifikation aller Stellen, an denen Zeichensätze explizit gesetzt werden (Grep nach `StandardCharsets`, `Charset.forName`)
- Identifikation aller `System.exit`- und Exit-Code-Konstanten
- Delta-Tabelle: Ist-Paketstruktur vs. Soll-Paketstruktur aus `technik-und-architektur.md`
- Delta-Tabelle: Ist-Exit-Codes vs. Soll-Exit-Codes (`0/1/2`)
- Delta-Tabelle: vorhandene vs. fehlende Elemente für M1 (Befundmodell mit Spec-/Diagnose-Trennung, SLF4J-Fassade, Berichtdatei, Log-Datei, Suffix-Logik, Minimalbericht, ISO 8859-15 als Eingabe-Encoding)
- Klassifikation jedes vorhandenen Pakets: **behalten und migrieren**, **behalten und anpassen**, **neu bauen**, **später verwenden (M3+)**
## Scope OUT
- keinerlei Code-Änderungen
- keinerlei `pom.xml`-Änderungen
- keinerlei Datei-Verschiebungen
- keine neuen Dateien außer dem Bericht selbst
## Schritte
1. Repo lokal auschecken, `mvn clean verify` laufen lassen, Ergebnis festhalten (grün/rot, Anzahl Tests, Warnungen)
2. `find src/main/java -name "*.java" | sort` und jede Datei mit ein bis zwei Sätzen kurz beschreiben
3. `find src/test/java -name "*.java" | sort` analog
4. `grep -rn "org.apache.logging.log4j" src/` — alle Fundstellen auflisten
5. `grep -rn "StandardCharsets\|Charset.forName" src/` — alle Fundstellen auflisten
6. `grep -rn "System.exit\|EXIT_CODE" src/` — alle Fundstellen auflisten
7. aktuelle Paketstruktur als Baum zeichnen
8. Delta-Tabellen gemäß Scope IN erstellen
9. Klassifikation pro Paket vornehmen
10. Abschlussbericht nach `templates/ap-bericht.md` schreiben
## Abnahmekriterien
- Abschlussbericht `berichte/AP01-bericht.md` existiert und enthält:
- vollständige Dateiliste (main + test) mit Kurzbeschreibung
- Dependency-Liste
- alle Grep-Fundstellen
- Ist-vs-Soll-Paketstrukturbaum
- Delta-Tabelle Exit-Codes
- Delta-Tabelle fehlender M1-Elemente
- Klassifikationstabelle pro Paket
- `mvn clean verify` ist vor und nach diesem AP identisch (es wurde nichts geändert)
- keine neuen Dateien im Repo außer dem Abschlussbericht
## Rest-Risiken und offene Punkte
- Die Klassifikation „behalten" vs. „neu bauen" ist eine Einschätzung und kann in späteren APs revidiert werden müssen. Das ist okay, solange es dokumentiert wird.
## Bericht
`docs/arbeitspakete/m1/berichte/AP01-bericht.md` nach `templates/ap-bericht.md`.