-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathevolution.toon.yaml
More file actions
55 lines (45 loc) · 1.84 KB
/
evolution.toon.yaml
File metadata and controls
55 lines (45 loc) · 1.84 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
# code2llm/evolution | 1125 func | 159f | 2026-05-25
# generated in 0.00s
NEXT[3] (ranked by impact):
[1] !! SPLIT deps.json
WHY: 3198L, 0 classes, max CC=0
EFFORT: ~4h IMPACT: 0
[2] !! SPLIT CHANGELOG.md
WHY: 3195L, 0 classes, max CC=0
EFFORT: ~4h IMPACT: 0
[3] !! SPLIT planfile.yaml
WHY: 2077L, 0 classes, max CC=0
EFFORT: ~4h IMPACT: 0
RISKS[3]:
⚠ Splitting deps.json may break 0 import paths
⚠ Splitting CHANGELOG.md may break 0 import paths
⚠ Splitting planfile.yaml may break 0 import paths
METRICS-TARGET:
CC̄: 3.9 → ≤2.7
max-CC: 10 → ≤5
god-modules: 10 → 0
high-CC(≥15): 0 → ≤0
hub-types: 0 → ≤0
PATTERNS (language parser shared logic):
_extract_declarations() in base.py — unified extraction for:
- TypeScript: interfaces, types, classes, functions, arrow funcs
- PHP: namespaces, traits, classes, functions, includes
- Ruby: modules, classes, methods, requires
- C++: classes, structs, functions, #includes
- C#: classes, interfaces, methods, usings
- Java: classes, interfaces, methods, imports
- Go: packages, functions, structs
- Rust: modules, functions, traits, use statements
Shared regex patterns per language:
- import: language-specific import/require/using patterns
- class: class/struct/trait declarations with inheritance
- function: function/method signatures with visibility
- brace_tracking: for C-family languages ({ })
- end_keyword_tracking: for Ruby (module/class/def...end)
Benefits:
- Consistent extraction logic across all languages
- Reduced code duplication (~70% reduction in parser LOC)
- Easier maintenance: fix once, apply everywhere
- Standardized FunctionInfo/ClassInfo models
HISTORY:
prev CC̄=3.9 → now CC̄=3.9