TODO-CODESCENE-FORTSETZUNG-2026-09-12.md #2
Loading…
Reference in New Issue
Block a user
No description provided.
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Arbeitsauftrag: CodeScene-Optimierung fortsetzen
Verwendung
Diese Anweisung im Repository
My-Weekly-ToDo-Listverwenden. Sie basiertauf dem CodeScene-Weekly-Lauf vom 2026-09-12, 16:03 UTC. Der analysierte
Stand enthielt 527 Commits; der letzte enthaltene Commit war nach den
CodeScene-Evolutionsdaten
3ac3d13(v1.125.2).Wenn
HEADinzwischen neuer ist, arbeite mit dem aktuellen Stand, nenne abervor jeder Empfehlung die Abweichung zur CodeScene-Baseline. CodeScene-Werte
sind Priorisierungshilfen, keine alleinigen Erfolgsmetriken.
Rolle und Ziel
Du arbeitest als erfahrener TypeScript-/React-/Next.js-Refactoring-Engineer.
Verbessere Wartbarkeit und Testbarkeit in kleinen, rücksetzbaren Schritten.
Sichtbares Verhalten, APIs, Authentifizierung, Persistenz, Kalender-Payloads,
Zeitzonen- und Wiederholungslogik dürfen sich dabei nicht unbeabsichtigt
ändern.
Beginne mit Analyse und Plan. Ändere noch keinen Code, bis der Owner den
ersten Refactoring-Schnitt ausdrücklich freigegeben hat.
Aktuelle CodeScene-Baseline
coverage: null)Priorisierte Ziele
src/components/WeeklyView.tsxfetchUserInfoist Bumpy Road/Complex/Large Method;handleDropist tief verschachteltsrc/lib/calendar-events.tsgetCalendarEventsist Bumpy Road; komplexe Update-/Delete- und Recurrence-Logiksrc/components/CalendarEventModal.tsxsrc/lib/apple-calendar.tsgetUpcomingEventsBatch; komplexe Recurrence-Löschung und Duplikationsrc/components/GridTaskBlock.tsxWeeklyView.tsxwurde bereits verbessert: gegenüber dem Monatsstand sank dieCodeScene-LOC von 10.735 auf 8.658 und der Score stieg von 1,72 auf 1,93. Der
Score blieb zwischen den letzten beiden Weekly-Läufen jedoch unverändert.
Vorhandene Module unter
src/lib/weekly/undsrc/components/weekly/müssenweiterverwendet werden.
Auftrag 1: Ist-Zustand verifizieren
Lies zuerst vollständig:
CLAUDE.mdREADME.mdpackage.jsonsrc/components/WeeklyView.tsxsrc/lib/weekly/undsrc/components/weekly/Profilinitialisierung abdecken
Prüfe anschließend read-only:
HEADund Worktree-StatusLogik
liefern können
Berichte fehlende oder nicht ausführbare Checks ausdrücklich. Behaupte aus
coverage: nullnicht, dass keine Tests existieren.Auftrag 2: Erster kleiner Schnitt in
WeeklyView.tsxUntersuche zuerst
handleDrop. Ziel ist, die fachliche Drop-Entscheidung vonReact-, DOM-, Netzwerk- und State-Update-Code zu trennen.
Der Plan soll genau einen zusammenhängenden Schnitt enthalten:
resultierende fachliche Operation und Ablehnungsgrund.
src/lib/weekly/vor. Leite Name und Signatur aus den vorhandenen Typen ab;erfinde keine parallelen Task- oder Kalender-Typen.
handleDropanschließend nur noch Eingaben aus dem UI lesen, diereine Entscheidung aufrufen und genau die bestehende Operation ausführen.
optimistisches UI-/Rollback-Verhalten.
Charakterisierungstests vor der Extraktion
Formuliere mit den tatsächlich vorhandenen Quell- und Zieltypen mindestens
folgende Given-When-Then-Fälle:
Rollback-/Fehlerverhalten
Nutze beobachtbares Verhalten. Teste die neue reine Funktion direkt und halte
mindestens einen vorhandenen Integrations- oder E2E-Test für den vollständigen
Nutzerfluss grün. Keine neue Testbibliothek ohne Owner-Freigabe.
Abnahme für den ersten Schnitt
handleDropbesitzt keine tiefe fachliche Verzweigungslogik mehrDeep, Nested ComplexityfürhandleDropist entfernt oder messbar reduziert
WeeklyView.tsxwird netto kleiner; neue Logik ist isoliert testbarutils.tsund keine neue Komponente mit einer großenAnzahl unstrukturierter Props
Der nächste CodeScene-Zielwert für den Hotspot ist zunächst über 2,02.
Ein einzelner kleiner Schnitt gilt aber auch dann als erfolgreich, wenn der
Gesamtscore noch nicht springt, sofern der adressierte Befund verschwindet,
Komplexität sinkt und alle Verhaltenstests grün bleiben.
Auftrag 3: Nächste Schnitte nach neuer Freigabe
Diese Schritte nicht im selben Commit und nicht ohne erneute Owner-Freigabe
umsetzen.
A.
fetchUserInfoentflechtenAktualisierung getrennt erfassen.
B. Fallenden Trend von
CalendarEventModal.tsxstoppenWiederholung, Kalenderauswahl und Payload-Erzeugung identifizieren.
Komponente zerlegen.
Provider-Auswahl durch Tests schützen.
C.
calendar-events.tsmodularisierengetrennte Verantwortlichkeiten planen.
getCalendarEventszuerst als Pipeline mit benannten Schrittencharakterisieren; keine Provider-Semantik vereinheitlichen, die sich real
unterscheidet.
apple-calendar.ts↔calendar-events.ts62 %,calendar-events.ts↔outlook-calendar.ts44 %, API-Route ↔calendar-events.ts42 %.D. Restliche Ziele
apple-calendar.ts: zuerstgetUpcomingEventsBatch, danachdeleteRecurringInstance.GridTaskBlock.tsx: pure Berechnungen, Interaktionen und Darstellungschrittweise trennen.
SettingsSidebar.tsxerst nach den fünf CodeScene-Zielen neu bewerten; derScore ist niedrig, aber die Änderungsreibung geringer.
Sicherheits- und Regressionstor
Die beiden risikoreichsten Commits des letzten Laufs hatten CodeScene-Risiko
7 beziehungsweise 6 und betrafen breit gestreute Security-/Deployment-
Änderungen sowie das Next.js-Upgrade. Vor größeren Refactorings muss geklärt
sein, dass folgende Pfade geschützt sind:
paramsKeine echten Zugangsdaten, Tokens, Kalenderinhalte oder personenbezogenen
Daten in Tests oder Logs verwenden.
CodeScene-Scope vor der nächsten Baseline
Empfiehl dem Owner separat, diese nicht repräsentativen Pfade auszuschließen:
Die Scope-Bereinigung nicht mit einem Refactoring-Commit vermischen.
package.jsonundpackage-lock.jsonsind wegen der vorgeschriebenenVersionspflege Änderungshotspots, aber keine manuellen Optimierungsziele.
Verbotene Abkürzungen
utils-,helpers- oder God-Komponenteany,@ts-nocheckoder pauschales ESLint-Disable als AuswegGewünschte erste Antwort
Antworte vor jeder Codeänderung ausschließlich mit:
HEAD, Branch und Worktree-StatushandleDropWarte danach auf ein ausdrückliches Go. Setze nur den freigegebenen ersten
Schnitt um und liefere anschließend Testergebnisse, Diff-Zusammenfassung und
den Vergleich mit einer neuen CodeScene-Analyse.