guardian/price-migration-engine
File Size The distribution of size of files (measured in lines of code). |
File Size Overall
- There are 116 files with 8,595 lines of code.
- 0 very long files (0 lines of code)
- 0 long files (0 lines of code)
- 13 medium size files (3,994 lines of code)
- 13 small files (1,795 lines of code)
- 90 very small files (2,806 lines of code)
Legend:
1001+
501-1000
201-500
101-200
1-100
explore: grouped by folders | grouped by size | sunburst | 3D view
File Size per Extension
1001+
501-1000
201-500
101-200
1-100
File Size per Logical Decomposition
primary
Longest Files (Top 50)
| File | # lines | # units |
|---|---|---|
| 471 | - | |
| 387 | 10 | |
| 348 | 8 | |
| 338 | - | |
| 319 | 12 | |
| 300 | 16 | |
| 299 | 13 | |
| 296 | 2 | |
| 286 | 10 | |
| 278 | 16 | |
| 248 | 6 | |
| 217 | 9 | |
| 207 | 5 | |
| 175 | 1 | |
| 174 | 7 | |
| 167 | 6 | |
| 159 | - | |
| 153 | 12 | |
| 137 | 3 | |
| 131 | 6 | |
| 125 | 10 | |
| 123 | 4 | |
| 122 | 12 | |
| 119 | 3 | |
| 108 | 5 | |
| 102 | 3 | |
| 99 | 5 | |
| 83 | 4 | |
| 83 | 5 | |
| 83 | 6 | |
| 81 | - | |
| 79 | 3 | |
| 76 | 5 | |
| 75 | 7 | |
| 74 | 1 | |
| 72 | - | |
| 69 | 3 | |
| 66 | 2 | |
| 60 | 4 | |
| 60 | 2 | |
| 57 | 3 | |
| 56 | 3 | |
| 52 | 3 | |
| 49 | 1 | |
| 47 | - | |
| 45 | 1 | |
| 44 | 6 | |
| 44 | - | |
| 44 | 1 | |
| 42 | 8 |
Large Files That Change Often (Top 20)
To change a file, an AI coding agent (or a person) has to read it: these files are read the most for the changes in the past year (lines × changes).
| File | # lines | ≈ tokens to read | # changes (1y) | ≈ lines edited per change | lines read per line changed |
|---|---|---|---|---|---|
| 286 | ~2k–5k | 186 | ~20 | ~15 | |
| 348 | ~2k–5k | 145 | ~20 | ~20 | |
| 387 | ~2k–7k | 113 | ~20 | ~15 | |
| 300 | ~2k–5k | 105 | ~30 | ~10 | |
| 278 | ~1.5k–5k | 72 | ~20 | ~10 | |
| 174 | ~1k–3k | 88 | ~20 | ~7 | |
| 299 | ~2k–5k | 47 | ~30 | ~10 | |
| 167 | ~1k–3k | 70 | ~15 | ~10 | |
| 248 | ~1.5k–5k | 36 | ~30 | ~10 | |
| 131 | ~700–2k | 61 | ~15 | ~7 | |
| 471 | ~3k–7k | 16 | ~20 | ~20 | |
| 319 | ~2k–5k | 23 | ~30 | ~10 | |
| 175 | ~1k–3k | 32 | ~20 | ~7 | |
| 102 | ~700–1.5k | 54 | ~20 | ~5 | |
| 122 | ~700–2k | 45 | ~30 | ~5 | |
| 123 | ~700–2k | 37 | ~15 | ~7 | |
| 52 | ~300–1k | 76 | ~15 | ~3 | |
| 338 | ~2k–5k | 8 | ~20 | ~15 | |
| 99 | ~500–1.5k | 27 | ~7 | ~10 | |
| 22 | under 1k | 109 | ~2 | ~10 |
Tokens are lines × 7 to 14 (analysis.fileReadsForChanges). Lines edited per change are the file's lines added and deleted divided by its commits over the whole history. Agents read about 2,000 lines at a time: when a 17,000-line file was split into modules, the tokens an agent read for the same change fell by 83% (The Economic Benefit of Refactoring, 2026).
Files With Most Units (Top 50)
| File | # lines | # units |
|---|---|---|
| 278 | 16 | |
| 300 | 16 | |
| 299 | 13 | |
| 122 | 12 | |
| 153 | 12 | |
| 319 | 12 | |
| 125 | 10 | |
| 387 | 10 | |
| 286 | 10 | |
| 217 | 9 | |
| 348 | 8 | |
| 42 | 8 | |
| 75 | 7 | |
| 174 | 7 | |
| 131 | 6 | |
| 248 | 6 | |
| 44 | 6 | |
| 167 | 6 | |
| 83 | 6 | |
| 207 | 5 | |
| 76 | 5 | |
| 99 | 5 | |
| 83 | 5 | |
| 108 | 5 | |
| 123 | 4 | |
| 30 | 4 | |
| 83 | 4 | |
| 60 | 4 | |
| 137 | 3 | |
| 119 | 3 | |
| 57 | 3 | |
| 102 | 3 | |
| 52 | 3 | |
| 30 | 3 | |
| 69 | 3 | |
| 56 | 3 | |
| 79 | 3 | |
| 28 | 2 | |
| 36 | 2 | |
| 296 | 2 | |
| 60 | 2 | |
| 66 | 2 | |
| 12 | 2 | |
| 49 | 1 | |
| 8 | 1 | |
| 74 | 1 | |
| 17 | 1 | |
| 38 | 1 | |
| 45 | 1 | |
| 38 | 1 |
Files With Long Lines (Top 18)
There are 18 files with lines longer than 120 characters. In total, there are 50 long lines.
| File | # lines | # units | # long lines |
|---|---|---|---|
| 471 | - | 9 | |
| 338 | - | 9 | |
| 319 | 12 | 7 | |
| 286 | 10 | 5 | |
| 248 | 6 | 3 | |
| 348 | 8 | 3 | |
| 387 | 10 | 2 | |
| 217 | 9 | 2 | |
| 81 | - | 1 | |
| 137 | 3 | 1 | |
| 119 | 3 | 1 | |
| 123 | 4 | 1 | |
| 131 | 6 | 1 | |
| 278 | 16 | 1 | |
| 75 | 7 | 1 | |
| 153 | 12 | 1 | |
| 167 | 6 | 1 | |
| 60 | 2 | 1 |
Correlations
File Size vs. Commits (all time): 116 points
|
|
471.0 | lines of code min: 2.0average: 74.09 25th percentile: 13.0 median: 36.0 75th percentile: 83.0 max: 471.0 |
|
| 0 | 635.0 | ||
|
commits (all time) min: 2.0 | average: 50.46 | 25th percentile: 5.0 | median: 15.0 | 75th percentile: 47.75 | max: 635.0
|
|||
File Size vs. Contributors (all time): 116 points
|
|
471.0 | lines of code min: 2.0average: 74.09 25th percentile: 13.0 median: 36.0 75th percentile: 83.0 max: 471.0 |
|
| 0 | 14.0 | ||
|
contributors (all time) min: 1.0 | average: 4.0 | 25th percentile: 2.0 | median: 2.0 | 75th percentile: 5.0 | max: 14.0
|
|||
File Size vs. Commits (30 days): 65 points
|
|
387.0 | lines of code min: 2.0average: 90.65 25th percentile: 27.5 median: 56.0 75th percentile: 120.5 max: 387.0 |
|
| 0 | 46.0 | ||
|
commits (30d) min: 1.0 | average: 9.32 | 25th percentile: 2.0 | median: 4.0 | 75th percentile: 12.5 | max: 46.0
|
|||
File Size vs. Contributors (30 days): 65 points
|
|
387.0 | lines of code min: 2.0average: 90.65 25th percentile: 27.5 median: 56.0 75th percentile: 120.5 max: 387.0 |
|
| 0 | 2.0 | ||
|
contributors (30d) min: 1.0 | average: 1.77 | 25th percentile: 2.0 | median: 2.0 | 75th percentile: 2.0 | max: 2.0
|
|||
File Size vs. Commits (90 days): 72 points
|
|
471.0 | lines of code min: 2.0average: 100.85 25th percentile: 28.25 median: 58.5 75th percentile: 124.5 max: 471.0 |
|
| 0 | 124.0 | ||
|
commits (90d) min: 2.0 | average: 17.39 | 25th percentile: 3.25 | median: 8.0 | 75th percentile: 19.25 | max: 124.0
|
|||
File Size vs. Contributors (90 days): 72 points
|
|
471.0 | lines of code min: 2.0average: 100.85 25th percentile: 28.25 median: 58.5 75th percentile: 124.5 max: 471.0 |
|
| 0 | 3.0 | ||
|
contributors (90d) min: 2.0 | average: 2.01 | 25th percentile: 2.0 | median: 2.0 | 75th percentile: 2.0 | max: 3.0
|
|||
About This Analysis
- File size measurements show the distribution of size of files.
- Files are classified in four categories based on their size (lines of code): 1-100 (very small files), 101-200 (small files), 201-500 (medium size files), 501-1000 (long files), 1001+(very long files).
- It is a good practice to keep files small. Long files may become "bloaters", code that have increased to such gargantuan proportions that they are hard to work with.
Learn more...
- To learn more about bloaters and how to deal with long code structures, Sokrates recommends the following resources:
- Refactoring bloaters, sourcemaking.com
- The Blob Software Development Anti-Pattern, sourcemaking.com