Jako nedev co vytváří a udržuje midsize React/Typescript appky (30k LOC+) neschopnej dělat code review (protože reálně tomu rozumim v konceptech, moc ne v kódu) jsem si musel udělat nějakou stukturu pro průběžnou statickou analýzu kvality a hygieny kódu, kterou AI často tvoří blbě kvůli změnám modelů, kontext driftu i použitím různých toolů v čase (a špatnýmu promptingu:)
Což jsem udělal pozdě, a teď trávim hromadu času narovnáváním, protože to prostě už driftuje a začíná bejt neudržitelný. Možná to někomu pomůže, ať už jste v podobný fázi, nebo použít jako inspiraci pro vstup pro na začátku, jako mantinely / code standards, ke kterým se vracet
můj static matrix v "industry standard" taxonomii
--
Maintainability Index - obecná metrika pro vyhodnocení složitosti a struktury, "udržitelnost"
Cyclomatic Complexity - branching v kódu, milion featur v jedné komponentě, složitost testovatelnosti
Cognitive Complexity - čitelnost kódu pro člověka, 10 vnořených ifů a podobně
Code Duplication / Clones - opakující se identický bloky kódu (70x if (error) throw error after něco)
Type Safety & Type Coverage Analysis - chybějící / nekorektní types
Dead Code / Unreachable Code Detection - nevolané funkce, neimportované variables a podobný bordel
Dependency Analysis (Coupling & Cohesion) - vazby jednotlivých modulů na sebe a riziko "změním něco v A a rozsype se mi B", nebo třeba když feature importuje něco přímo z jiné feature
Code Churn & Hotspot Analysis - složitý a zároveň často updatovaný části kódů (podle gitu), kde je vyšší riziko průseru
Dělat analýzu AI kódu využitím AI mi samo přijde jak hasit oheň dřevem, ale lepší, než to neřešit vůbec. A každej version bump u Opusu to zpřesňuje