Toter Code, zweite Runde (A): ohne Aufrufer und ohne Test #117

Open
opened 2026-10-20 09:42:53 +00:00 by claude · 0 comments
Collaborator

Aus dem Project-Review vom 20.10.2026 (quality/2 und Fundgrube), Fortsetzung von #45. Jede Stelle ist am Code nachgeprüft (main 4e9c05c): Kein Produktivcode ruft sie auf, und kein Test ist betroffen.

Löschen: fünf Repository-Methoden ohne jeden Aufrufer

  • GameDayEntryRepository.findByClubId, GameDayEntryRepository.findBySeasonId
  • OfficialRepository.findByClubId
  • PlayerRepository.findBySeasonId
  • RegistrationRepository.deleteBySeasonId

Löschen: ungenutztes Feld

  • EloResource.baselineRepository: wird injiziert, aber in der Klasse nie benutzt.

Nur export streichen (Portal)

Diese Funktionen werden in ihrer eigenen Datei benutzt, aber unnötig exportiert. Am Verhalten ändert sich nichts.

  • ForfeitDisplay.tsx: ForfeitCard, VerdictBox
  • cup/CupTableau.tsx: pitchOf, zellHoeheOf
  • lib/cup-bracket.ts: positionsInRound, roundCount
  • lib/substituteCheck.ts: parseClassification

Javadoc steht über der falschen Methode

  • CaptainAccessGuard: Der Kommentar „Nur Verband und Poweruser. Die Cup-Finalrunde leitet der Poweruser …“ (aus aa5b56d) gehört zu requireAdminOrPoweruser. Seitdem ist isAdminOrPoweruser dazwischengerutscht.
  • TeamMatchWorkflowResource: Der Kommentar „Für Schreibwege …“ über requireResultWritableMatch gehört zu requireWritableMatch.

Bedingungen, die immer zutreffen

  • CategoryRoundService.save: .filter(e -> e.kind() == ownKind) ist immer wahr, weil die Schleife davor jede andere kind schon mit 400 abweist.
  • SeasonSeedService.ensureEloBaselines: Das erste if (wert == null) ist immer wahr, weil ein vorhandener Wert vorher mit continue ausgestiegen ist.

Feld, das nie ausgeliefert wird

  • SubstituteCalculator.Breach.hasNoPlace (dazu die Buchführung emptySlots): Das Backend berechnet den Wert, aber SubstituteService gibt ihn nicht in die Antwort. Das Portal rechnet hasNoPlace in substituteCheck.ts selbst. Kein Java-Test liest das Feld.

Abnahme

  • mvn -B clean verify und die Frontend-Builds grün. Keine Teständerung.
  • metrics.py checks meldet die Stellen unter quality/2 nicht mehr.
Aus dem Project-Review vom 20.10.2026 (quality/2 und Fundgrube), Fortsetzung von #45. Jede Stelle ist am Code nachgeprüft (`main` 4e9c05c): Kein Produktivcode ruft sie auf, und **kein Test ist betroffen**. ## Löschen: fünf Repository-Methoden ohne jeden Aufrufer - `GameDayEntryRepository.findByClubId`, `GameDayEntryRepository.findBySeasonId` - `OfficialRepository.findByClubId` - `PlayerRepository.findBySeasonId` - `RegistrationRepository.deleteBySeasonId` ## Löschen: ungenutztes Feld - `EloResource.baselineRepository`: wird injiziert, aber in der Klasse nie benutzt. ## Nur `export` streichen (Portal) Diese Funktionen werden in ihrer eigenen Datei benutzt, aber unnötig exportiert. Am Verhalten ändert sich nichts. - `ForfeitDisplay.tsx`: `ForfeitCard`, `VerdictBox` - `cup/CupTableau.tsx`: `pitchOf`, `zellHoeheOf` - `lib/cup-bracket.ts`: `positionsInRound`, `roundCount` - `lib/substituteCheck.ts`: `parseClassification` ## Javadoc steht über der falschen Methode - `CaptainAccessGuard`: Der Kommentar „Nur Verband und Poweruser. Die Cup-Finalrunde leitet der Poweruser …“ (aus aa5b56d) gehört zu `requireAdminOrPoweruser`. Seitdem ist `isAdminOrPoweruser` dazwischengerutscht. - `TeamMatchWorkflowResource`: Der Kommentar „Für Schreibwege …“ über `requireResultWritableMatch` gehört zu `requireWritableMatch`. ## Bedingungen, die immer zutreffen - `CategoryRoundService.save`: `.filter(e -> e.kind() == ownKind)` ist immer wahr, weil die Schleife davor jede andere `kind` schon mit 400 abweist. - `SeasonSeedService.ensureEloBaselines`: Das erste `if (wert == null)` ist immer wahr, weil ein vorhandener Wert vorher mit `continue` ausgestiegen ist. ## Feld, das nie ausgeliefert wird - `SubstituteCalculator.Breach.hasNoPlace` (dazu die Buchführung `emptySlots`): Das Backend berechnet den Wert, aber `SubstituteService` gibt ihn nicht in die Antwort. Das Portal rechnet `hasNoPlace` in `substituteCheck.ts` selbst. Kein Java-Test liest das Feld. ## Abnahme - `mvn -B clean verify` und die Frontend-Builds grün. Keine Teständerung. - `metrics.py checks` meldet die Stellen unter quality/2 nicht mehr.
Sign in to join this conversation.
No description provided.