Migrate all repos into monorepo context folders
Bahn: aisupport, Analyse-O2C-C2S, awesome-bahn-mcp-servers, beam-mcp,
Confluence_Bot, db-planet-mcp-server, O2C-Harness, project-audit,
Projekt-KIQ-HP, teamlandkarte-mcp
Dhive: Jury-Voting
Privat: CV, NoteGraph (NOTE: NoteGraph needs complete redo after consolidation)
Shared: AI-Orchestrator, OrgMyLife, power_skills_and_more
Shared/references: symphony (read-only)
Bahn repos remain available as independent remotes - this monorepo
pulls them in via subtree, the originals are untouched.
This commit is contained in:
@@ -0,0 +1,142 @@
|
||||
# SonarQube Deep Dive — Code-Qualitaet pro Team
|
||||
|
||||
> Stand: 2026-04-30 | Quelle: SonarQube (74 Projekte, nur master/main Branches)
|
||||
|
||||
---
|
||||
|
||||
## 1. Ueberblick
|
||||
|
||||
| Team | Projekte | Lines of Code | Bugs | Smells | Smells/1K LoC | Coverage | QGate OK |
|
||||
|------|----------|---------------|------|--------|---------------|----------|----------|
|
||||
| **Team 404** | 2 | 68.313 | 5 | 420 | 6.1 | 84.2% | 0/2 |
|
||||
| **Team CIB** | 15 | 121.727 | 7 | 2.535 | 20.8 | 78.2% | 9/15 |
|
||||
| **Team Zero** | 9 | 37.927 | 0 | 152 | 4.0 | 21.8%* | 8/9 |
|
||||
| Shared Libs | 6 | 4.877 | 2 | 50 | 10.3 | 0% | 0/6 |
|
||||
| Andere/Infra | 41 | 28.813 | 13 | 600 | 20.8 | 33.6% | 29/41 |
|
||||
|
||||
*Zero Coverage-Durchschnitt verzerrt durch tadef-connector (27.6K Lines, 0% Coverage). Ohne tadef: 91.8% Coverage.
|
||||
|
||||
---
|
||||
|
||||
## 2. Detailanalyse pro Team
|
||||
|
||||
### Team 404 (Portal) — 68K Lines, 2 Services
|
||||
|
||||
| Service | Lines | Bugs | Smells | Coverage | QGate |
|
||||
|---------|-------|------|--------|----------|-------|
|
||||
| portal-ui (Angular) | 42.726 | 4 | 77 | 85.8% | ERROR |
|
||||
| portal-middleware | 25.587 | 1 | 343 | 81.4% | ERROR |
|
||||
|
||||
**Bewertung**:
|
||||
- Coverage ist gut (84-86%) — das Frontend-Qualitaetsproblem liegt NICHT an fehlenden Tests
|
||||
- Portal-Middleware hat 5x mehr Smells als Portal-UI (343 vs 77) bei halb so viel Code
|
||||
- Beide Services haben Quality Gate ERROR — vermutlich wegen Bugs (4+1=5)
|
||||
- **Kernaussage**: Die hohe Bug-Rate (33% aus Jira) korreliert NICHT mit schlechter Coverage. Das Problem ist eher in der Testqualitaet (was getestet wird) als in der Testquantitaet (wie viel getestet wird).
|
||||
|
||||
**Empfehlung**:
|
||||
- Portal-Middleware Smells reduzieren (343 bei 25K Lines = 13.4/1K — deutlich ueber Durchschnitt)
|
||||
- Bug-Ursachen analysieren: Sind es Regressions-Bugs (Tests fehlen fuer Edge Cases) oder Integrations-Bugs?
|
||||
|
||||
### Team CIB (Backend) — 122K Lines, 15 Services
|
||||
|
||||
| Service | Lines | Bugs | Smells | Coverage | QGate |
|
||||
|---------|-------|------|--------|----------|-------|
|
||||
| steuerung-vertrieb (SV) | 93.146 | 3 | **2.214** | 81.6% | ERROR |
|
||||
| auftrags-verwaltung-trasse | 8.430 | 0 | 102 | 86.2% | OK |
|
||||
| archivierungsservice | 6.733 | 2 | 83 | 78.8% | ERROR |
|
||||
| ifp-mock | 4.917 | 2 | 66 | 50.4% | ERROR |
|
||||
| kundendaten-bereitstellung | 1.834 | 0 | 2 | 96.9% | OK |
|
||||
| rabattnummern-bereitstellung | 1.374 | 0 | 9 | 86.3% | OK |
|
||||
| ifp-connector | 1.318 | 0 | 5 | 84.9% | OK |
|
||||
| auftrag-service-kafkamock | 2.221 | 0 | 35 | 0% | ERROR |
|
||||
| auftrag-service | 949 | 0 | 19 | 0% | ERROR |
|
||||
|
||||
**Bewertung**:
|
||||
- **SV ist das Sorgenkind**: 93K Lines, 2.214 Smells (23.8/1K LoC!) — mit Abstand hoechste technische Schuld
|
||||
- Aber: SV hat 81.6% Coverage und die Bug-Rate sinkt (36% → 9%) — die Smells verursachen keine Bugs
|
||||
- Kleinere Services (KDV, Rabatt, IFP-Connector) sind vorbildlich: >85% Coverage, <10 Smells
|
||||
- AV-Trasse: Gute Qualitaet (86.2% Coverage, 102 Smells bei 8.4K Lines)
|
||||
- 2 Services ohne Coverage (Mocks) — akzeptabel fuer Mock-Services
|
||||
|
||||
**Empfehlung**:
|
||||
- SV-Smells langfristig abbauen (Top-Regel S1192: 976 String-Duplikate — Refactoring-Kandidat)
|
||||
- Archivierungsservice: 2 Bugs fixen, Coverage von 78.8% auf >85% bringen
|
||||
- IFP-Mock: Coverage von 50.4% ist zu niedrig fuer einen Service der in Tests genutzt wird
|
||||
|
||||
### Team Zero (TAF/TAP) — 38K Lines, 9 Services
|
||||
|
||||
| Service | Lines | Bugs | Smells | Coverage | QGate |
|
||||
|---------|-------|------|--------|----------|-------|
|
||||
| tadef-connector | 27.646 | 0 | 99 | **0%** | ERROR |
|
||||
| stammdaten-bereitstellung | 5.042 | 0 | 13 | 82.0% | OK |
|
||||
| common-interface | 4.056 | 0 | 37 | 93.8% | OK |
|
||||
| taftap-tdm-konverter | 6.586 | 0 | 26 | 90.6% | OK |
|
||||
|
||||
**Bewertung**:
|
||||
- **0 Bugs** in allen Zero-Services — beste Qualitaet im Programm
|
||||
- tadef-connector (27.6K Lines, 0% Coverage) ist der einzige Ausreisser — vermutlich generierter Code oder Legacy
|
||||
- Ohne tadef: 4.0 Smells/1K LoC und 91.8% Coverage — Benchmark fuer andere Teams
|
||||
- Common Interface: 93.8% Coverage bei SOAP-Schnittstelle — beeindruckend
|
||||
|
||||
**Empfehlung**:
|
||||
- tadef-connector: Klaeren ob Coverage moeglich/sinnvoll ist (generierter Code?)
|
||||
- Zero als Qualitaets-Benchmark beibehalten und Best Practices dokumentieren
|
||||
|
||||
---
|
||||
|
||||
## 3. Shared Libraries — 0% Coverage
|
||||
|
||||
| Library | Lines | Smells | Coverage |
|
||||
|---------|-------|--------|----------|
|
||||
| core-components-kafka | 1.567 | 24 | 0% |
|
||||
| core-components-common | 1.096 | 5 | 0% |
|
||||
| signature-database | 1.091 | 12 | 0% |
|
||||
| signature-message | 622 | 5 | 0% |
|
||||
|
||||
**Bewertung**:
|
||||
- Alle Shared Libraries haben 0% Coverage — das ist ein Risiko
|
||||
- Diese Libraries werden von ALLEN Services genutzt — ein Bug hier betrifft das gesamte System
|
||||
- Insgesamt nur 4.877 Lines — ueberschaubar
|
||||
|
||||
**Empfehlung**:
|
||||
- DRINGEND: Tests fuer core-components-kafka und core-components-common schreiben
|
||||
- Shared Libraries sollten die hoechste Coverage haben (>90%), nicht die niedrigste
|
||||
|
||||
---
|
||||
|
||||
## 4. Quality Gate Failures — Zusammenfassung
|
||||
|
||||
| Grund | Projekte | Beispiele |
|
||||
|-------|----------|-----------|
|
||||
| Bugs > 0 | 8 | portal-ui (4), SV (3), archivierungsservice (2) |
|
||||
| Coverage = 0% | 12 | tadef-connector, Mocks, Shared Libs, Infra-Tools |
|
||||
| Coverage < Schwelle | 3 | ifp-mock (50.4%), archivierungsservice (78.8%) |
|
||||
|
||||
---
|
||||
|
||||
## 5. Korrelation: SonarQube vs. Jira Bug-Rate
|
||||
|
||||
| Team | SonarQube Bugs | SonarQube Coverage | Jira Bug-Rate (90d) | Korrelation? |
|
||||
|------|----------------|-------------------|---------------------|--------------|
|
||||
| 404 | 5 | 84.2% | 33% (steigend) | NEIN — hohe Coverage, trotzdem viele Bugs |
|
||||
| CIB | 7 | 78.2% | 20% (sinkend) | TEILWEISE — niedrigere Coverage, aber Bug-Rate sinkt |
|
||||
| Zero | 0 | 91.8%* | 15% (stabil) | JA — beste Coverage = wenigste Bugs |
|
||||
|
||||
**Fazit**: Coverage allein erklaert die Bug-Rate nicht. Team 404 hat gute Coverage (84%) aber die hoechste Bug-Rate. Das deutet auf:
|
||||
1. **Testqualitaet** — Tests pruefen nicht die richtigen Szenarien (Edge Cases, Integration)
|
||||
2. **Frontend-Komplexitaet** — Angular-UI hat andere Fehlerquellen als Backend (State Management, Async, Browser-Kompatibilitaet)
|
||||
3. **Fehlende E2E-Tests** — Unit-Tests allein reichen nicht fuer Portal-Qualitaet
|
||||
|
||||
---
|
||||
|
||||
## 6. Top-Empfehlungen (priorisiert)
|
||||
|
||||
1. **Shared Libraries testen** (DRINGEND) — 0% Coverage bei Code der ueberall genutzt wird. Risiko: Ein Bug hier betrifft alle Services.
|
||||
|
||||
2. **SV-Smells systematisch abbauen** — 2.214 Smells, Top-Regel S1192 (976 String-Duplikate). Sprint-weise 50-100 Smells pro PI reduzieren.
|
||||
|
||||
3. **Portal: Testqualitaet statt -quantitaet** — Coverage ist gut (84%). Problem sind fehlende Edge-Case-Tests und E2E-Tests. Empfehlung: Playwright/Cypress fuer kritische User Flows.
|
||||
|
||||
4. **tadef-connector klaeren** — 27.6K Lines ohne Coverage. Ist das generierter Code? Wenn ja: aus SonarQube-Metriken ausschliessen. Wenn nein: Tests schreiben.
|
||||
|
||||
5. **IFP-Mock Coverage erhoehen** — 50.4% ist zu niedrig fuer einen Mock-Service der in Integrationstests genutzt wird.
|
||||
Reference in New Issue
Block a user