File Size Overall
  • There are 19 files with 1,074 lines of code.
    • 0 very long files (0 lines of code)
    • 0 long files (0 lines of code)
    • 1 medium size files (274 lines of code)
    • 0 small files (0 lines of code)
    • 18 very small files (800 lines of code)
0% | 0% | 25% | 0% | 74%
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
yaml0% | 0% | 75% | 0% | 24%
scala0% | 0% | 0% | 0% | 100%
sc0% | 0% | 0% | 0% | 100%
File Size per Logical Decomposition
primary
1001+
501-1000
201-500
101-200
1-100
ROOT0% | 0% | 75% | 0% | 24%
src0% | 0% | 0% | 0% | 100%
Longest Files (Top 19)
File# lines# units
cfn.yaml
in root
274 -
ContentAlertPayloadBuilder.scala
in src/main/scala/com/gu/mobile/content/notifications/lib
96 7
Lambda.scala
in src/main/scala/com/gu/mobile/content/notifications
94 4
MetricsActor.scala
in src/main/scala/com/gu/mobile/content/notifications/metrics
91 3
79 -
NotificationsDynamoDb.scala
in src/main/scala/com/gu/mobile/content/notifications/lib
77 5
Configuration.scala
in src/main/scala/com/gu/mobile/content/notifications
72 2
NotificationsApiClient.scala
in src/main/scala/com/gu/mobile/content/notifications/lib
57 2
Metrics.scala
in src/main/scala/com/gu/mobile/content/notifications/metrics
37 2
MessageSender.scala
in src/main/scala/com/gu/mobile/content/notifications/lib
35 2
KeyEvent.scala
in src/main/scala/com/gu/mobile/content/notifications/model
30 2
ContentLambda.scala
in src/main/scala/com/gu/mobile/content/notifications
30 1
ContentApi.scala
in src/main/scala/com/gu/mobile/content/notifications/lib
28 2
CapiEventProcessor.scala
in src/main/scala/com/gu/mobile/content/notifications
24 1
LiveBlogLambda.scala
in src/main/scala/com/gu/mobile/content/notifications
23 1
10 -
Seqs.scala
in src/main/scala/com/gu/mobile/content/notifications/lib
9 1
Logging.scala
in src/main/scala/com/gu/mobile/content/notifications
5 -
sc
date.sc
in src/main/scala/com/gu/mobile/content/notifications/lib
3 -
Large Files That Change Often (Top 1)
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
79 ~500–1.5k 4 ~20 ~5

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 14)
File# lines# units
ContentAlertPayloadBuilder.scala
in src/main/scala/com/gu/mobile/content/notifications/lib
96 7
NotificationsDynamoDb.scala
in src/main/scala/com/gu/mobile/content/notifications/lib
77 5
Lambda.scala
in src/main/scala/com/gu/mobile/content/notifications
94 4
MetricsActor.scala
in src/main/scala/com/gu/mobile/content/notifications/metrics
91 3
Metrics.scala
in src/main/scala/com/gu/mobile/content/notifications/metrics
37 2
KeyEvent.scala
in src/main/scala/com/gu/mobile/content/notifications/model
30 2
MessageSender.scala
in src/main/scala/com/gu/mobile/content/notifications/lib
35 2
ContentApi.scala
in src/main/scala/com/gu/mobile/content/notifications/lib
28 2
NotificationsApiClient.scala
in src/main/scala/com/gu/mobile/content/notifications/lib
57 2
Configuration.scala
in src/main/scala/com/gu/mobile/content/notifications
72 2
CapiEventProcessor.scala
in src/main/scala/com/gu/mobile/content/notifications
24 1
Seqs.scala
in src/main/scala/com/gu/mobile/content/notifications/lib
9 1
ContentLambda.scala
in src/main/scala/com/gu/mobile/content/notifications
30 1
LiveBlogLambda.scala
in src/main/scala/com/gu/mobile/content/notifications
23 1
Files With Long Lines (Top 10)

There are 10 files with lines longer than 120 characters. In total, there are 16 long lines.

File# lines# units# long lines
MessageSender.scala
in src/main/scala/com/gu/mobile/content/notifications/lib
35 2 3
cfn.yaml
in root
274 - 2
KeyEvent.scala
in src/main/scala/com/gu/mobile/content/notifications/model
30 2 2
NotificationsDynamoDb.scala
in src/main/scala/com/gu/mobile/content/notifications/lib
77 5 2
Configuration.scala
in src/main/scala/com/gu/mobile/content/notifications
72 2 2
79 - 1
Lambda.scala
in src/main/scala/com/gu/mobile/content/notifications
94 4 1
CapiEventProcessor.scala
in src/main/scala/com/gu/mobile/content/notifications
24 1 1
ContentApi.scala
in src/main/scala/com/gu/mobile/content/notifications/lib
28 2 1
NotificationsApiClient.scala
in src/main/scala/com/gu/mobile/content/notifications/lib
57 2 1
Correlations

File Size vs. Commits (all time): 19 points

mobile-notifications-shared-resources.yaml x: 5 commits (all time) y: 79 lines of code src/main/scala/com/gu/mobile/content/notifications/Configuration.scala x: 17 commits (all time) y: 72 lines of code src/main/scala/com/gu/mobile/content/notifications/lib/MessageSender.scala x: 21 commits (all time) y: 35 lines of code src/main/scala/com/gu/mobile/content/notifications/lib/NotificationsDynamoDb.scala x: 22 commits (all time) y: 77 lines of code src/main/scala/com/gu/mobile/content/notifications/metrics/Metrics.scala x: 15 commits (all time) y: 37 lines of code src/main/scala/com/gu/mobile/content/notifications/metrics/MetricsActor.scala x: 13 commits (all time) y: 91 lines of code cfn.yaml x: 15 commits (all time) y: 274 lines of code src/main/scala/com/gu/mobile/content/notifications/Lambda.scala x: 38 commits (all time) y: 94 lines of code src/main/scala/com/gu/mobile/content/notifications/CapiEventProcessor.scala x: 20 commits (all time) y: 24 lines of code riff-raff.yaml x: 5 commits (all time) y: 10 lines of code src/main/scala/com/gu/mobile/content/notifications/lib/ContentAlertPayloadBuilder.scala x: 34 commits (all time) y: 96 lines of code src/main/scala/com/gu/mobile/content/notifications/lib/ContentApi.scala x: 10 commits (all time) y: 28 lines of code src/main/scala/com/gu/mobile/content/notifications/lib/Seqs.scala x: 2 commits (all time) y: 9 lines of code src/main/scala/com/gu/mobile/content/notifications/lib/NotificationsApiClient.scala x: 1 commits (all time) y: 57 lines of code src/main/scala/com/gu/mobile/content/notifications/Logging.scala x: 5 commits (all time) y: 5 lines of code src/main/scala/com/gu/mobile/content/notifications/model/KeyEvent.scala x: 4 commits (all time) y: 30 lines of code src/main/scala/com/gu/mobile/content/notifications/ContentLambda.scala x: 1 commits (all time) y: 30 lines of code src/main/scala/com/gu/mobile/content/notifications/LiveBlogLambda.scala x: 1 commits (all time) y: 23 lines of code src/main/scala/com/gu/mobile/content/notifications/lib/date.sc x: 1 commits (all time) y: 3 lines of code
274.0
lines of code
  min: 3.0
  average: 56.53
  25th percentile: 23.0
  median: 35.0
  75th percentile: 79.0
  max: 274.0
0 38.0
commits (all time)
min: 1.0 | average: 12.11 | 25th percentile: 2.0 | median: 10.0 | 75th percentile: 20.0 | max: 38.0

File Size vs. Contributors (all time): 19 points

mobile-notifications-shared-resources.yaml x: 2 contributors (all time) y: 79 lines of code src/main/scala/com/gu/mobile/content/notifications/Configuration.scala x: 11 contributors (all time) y: 72 lines of code src/main/scala/com/gu/mobile/content/notifications/lib/MessageSender.scala x: 8 contributors (all time) y: 35 lines of code src/main/scala/com/gu/mobile/content/notifications/lib/NotificationsDynamoDb.scala x: 10 contributors (all time) y: 77 lines of code src/main/scala/com/gu/mobile/content/notifications/metrics/Metrics.scala x: 10 contributors (all time) y: 37 lines of code src/main/scala/com/gu/mobile/content/notifications/metrics/MetricsActor.scala x: 8 contributors (all time) y: 91 lines of code cfn.yaml x: 5 contributors (all time) y: 274 lines of code src/main/scala/com/gu/mobile/content/notifications/Lambda.scala x: 7 contributors (all time) y: 94 lines of code src/main/scala/com/gu/mobile/content/notifications/CapiEventProcessor.scala x: 4 contributors (all time) y: 24 lines of code riff-raff.yaml x: 2 contributors (all time) y: 10 lines of code src/main/scala/com/gu/mobile/content/notifications/lib/ContentAlertPayloadBuilder.scala x: 8 contributors (all time) y: 96 lines of code src/main/scala/com/gu/mobile/content/notifications/lib/ContentApi.scala x: 5 contributors (all time) y: 28 lines of code src/main/scala/com/gu/mobile/content/notifications/lib/Seqs.scala x: 1 contributors (all time) y: 9 lines of code src/main/scala/com/gu/mobile/content/notifications/lib/NotificationsApiClient.scala x: 1 contributors (all time) y: 57 lines of code src/main/scala/com/gu/mobile/content/notifications/Logging.scala x: 3 contributors (all time) y: 5 lines of code src/main/scala/com/gu/mobile/content/notifications/model/KeyEvent.scala x: 2 contributors (all time) y: 30 lines of code src/main/scala/com/gu/mobile/content/notifications/ContentLambda.scala x: 1 contributors (all time) y: 30 lines of code src/main/scala/com/gu/mobile/content/notifications/LiveBlogLambda.scala x: 1 contributors (all time) y: 23 lines of code src/main/scala/com/gu/mobile/content/notifications/lib/date.sc x: 1 contributors (all time) y: 3 lines of code
274.0
lines of code
  min: 3.0
  average: 56.53
  25th percentile: 23.0
  median: 35.0
  75th percentile: 79.0
  max: 274.0
0 11.0
contributors (all time)
min: 1.0 | average: 4.74 | 25th percentile: 1.0 | median: 4.0 | 75th percentile: 8.0 | max: 11.0

File Size vs. Commits (30 days): 1 points

mobile-notifications-shared-resources.yaml x: 4 commits (30d) y: 79 lines of code
79.0
lines of code
  min: 79.0
  average: 79.0
  25th percentile: 79.0
  median: 79.0
  75th percentile: 79.0
  max: 79.0
0 4.0
commits (30d)
min: 4.0 | average: 4.0 | 25th percentile: 4.0 | median: 4.0 | 75th percentile: 4.0 | max: 4.0

File Size vs. Contributors (30 days): 1 points

mobile-notifications-shared-resources.yaml x: 1 contributors (30d) y: 79 lines of code
79.0
lines of code
  min: 79.0
  average: 79.0
  25th percentile: 79.0
  median: 79.0
  75th percentile: 79.0
  max: 79.0
0 1.0
contributors (30d)
min: 1.0 | average: 1.0 | 25th percentile: 1.0 | median: 1.0 | 75th percentile: 1.0 | max: 1.0

File Size vs. Commits (90 days): 1 points

mobile-notifications-shared-resources.yaml x: 4 commits (90d) y: 79 lines of code
79.0
lines of code
  min: 79.0
  average: 79.0
  25th percentile: 79.0
  median: 79.0
  75th percentile: 79.0
  max: 79.0
0 4.0
commits (90d)
min: 4.0 | average: 4.0 | 25th percentile: 4.0 | median: 4.0 | 75th percentile: 4.0 | max: 4.0

File Size vs. Contributors (90 days): 1 points

mobile-notifications-shared-resources.yaml x: 1 contributors (90d) y: 79 lines of code
79.0
lines of code
  min: 79.0
  average: 79.0
  25th percentile: 79.0
  median: 79.0
  75th percentile: 79.0
  max: 79.0
0 1.0
contributors (90d)
min: 1.0 | average: 1.0 | 25th percentile: 1.0 | median: 1.0 | 75th percentile: 1.0 | max: 1.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...