GerritCodeReview / gerrit
File Size

The distribution of size of files (measured in lines of code).

Intro
  • 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...
File Size Overall
  • There are 3,855 files with 446,978 lines of code.
    • 45 very long files (76,668 lines of code)
    • 92 long files (61,791 lines of code)
    • 406 medium size files (122,160 lines of codeclsfd_ftr_w_mp_ins)
    • 609 small files (85,241 lines of code)
    • 2,703 very small files (101,118 lines of code)
17% | 13% | 27% | 19% | 22%
Legend:
1001+
501-1000
201-500
101-200
1-100


explore: zoomable circles | sunburst | 3D view
File Size per Extension
1001+
501-1000
201-500
101-200
1-100
java17% | 11% | 26% | 19% | 24%
ts17% | 21% | 31% | 17% | 12%
proto0% | 79% | 0% | 17% | 2%
bzl0% | 24% | 12% | 41% | 21%
py0% | 0% | 49% | 26% | 23%
go0% | 0% | 85% | 0% | 14%
pl0% | 0% | 52% | 47% | 0%
soy0% | 0% | 0% | 17% | 82%
g0% | 0% | 0% | 100% | 0%
css0% | 0% | 0% | 69% | 30%
html0% | 0% | 0% | 0% | 100%
js0% | 0% | 0% | 0% | 100%
launch0% | 0% | 0% | 0% | 100%
File Size per Logical Decomposition
primary
1001+
501-1000
201-500
101-200
1-100
javatests37% | 14% | 24% | 12% | 11%
polygerrit-ui18% | 21% | 31% | 16% | 12%
java6% | 10% | 27% | 22% | 32%
proto0% | 79% | 0% | 17% | 2%
tools0% | 10% | 27% | 38% | 24%
contrib0% | 0% | 58% | 20% | 20%
resources0% | 0% | 0% | 15% | 84%
prolog0% | 0% | 0% | 100% | 0%
antlr30% | 0% | 0% | 100% | 0%
lib0% | 0% | 0% | 0% | 100%
plugins0% | 0% | 0% | 0% | 100%
ROOT0% | 0% | 0% | 0% | 100%
Longest Files (Top 50)
File# lines# units
ChangeIT.java
in javatests/com/google/gerrit/acceptance/api/change
3841 207
AbstractQueryChangesTest.java
in javatests/com/google/gerrit/server/query/change
3611 217
ChangeNotesTest.java
in javatests/com/google/gerrit/server/notedb
3435 133
ReceiveCommits.java
in java/com/google/gerrit/server/git/receive
3028 105
gr-rest-api-impl.ts
in polygerrit-ui/app/elements/shared/gr-rest-api-interface
2819 54
AccountIT.java
in javatests/com/google/gerrit/acceptance/api/accounts
2687 149
RevisionDiffIT.java
in javatests/com/google/gerrit/acceptance/api/revision
2572 133
AbstractPushForReview.java
in javatests/com/google/gerrit/acceptance/git
2503 156
ChangeNotificationsIT.java
in javatests/com/google/gerrit/acceptance/server/mail
2228 231
SubmitRequirementIT.java
in javatests/com/google/gerrit/acceptance/api/change
2149 66
CommitRewriterTest.java
in javatests/com/google/gerrit/server/notedb
2146 47
gr-change-view.ts
in polygerrit-ui/app/elements/change/gr-change-view
2076 109
RestApiServlet.java
in java/com/google/gerrit/httpd/restapi
1823 77
CommentsIT.java
in javatests/com/google/gerrit/acceptance/server/change
1782 89
gr-change-actions.ts
in polygerrit-ui/app/elements/change/gr-change-actions
1730 74
RevisionIT.java
in javatests/com/google/gerrit/acceptance/api/revision
1700 83
AttentionSetIT.java
in javatests/com/google/gerrit/acceptance/rest/change
1616 109
ProjectConfig.java
in java/com/google/gerrit/server/project
1604 99
AbstractDaemonTest.java
in java/com/google/gerrit/acceptance
1542 123
PortedCommentsIT.java
in javatests/com/google/gerrit/acceptance/api/revision
1527 84
ChangeQueryBuilder.java
in java/com/google/gerrit/server/query/change
1501 116
gr-diff-view.ts
in polygerrit-ui/app/elements/diff/gr-diff-view
1462 83
PostReview.java
in java/com/google/gerrit/server/restapi/change
1403 58
GroupsIT.java
in javatests/com/google/gerrit/acceptance/api/group
1373 119
gr-file-list.ts
in polygerrit-ui/app/elements/change/gr-file-list
1370 83
gr-router.ts
in polygerrit-ui/app/elements/core/gr-router
1355 93
RobotCommentsIT.java
in javatests/com/google/gerrit/acceptance/api/revision
1348 76
gr-checks-results.ts
in polygerrit-ui/app/elements/checks
1339 56
GroupConfigTest.java
in javatests/com/google/gerrit/server/group/db
1288 107
RefAdvertisementIT.java
in javatests/com/google/gerrit/acceptance/git
1203 57
StickyApprovalsIT.java
in javatests/com/google/gerrit/acceptance/api/change
1195 50
RevertIT.java
in javatests/com/google/gerrit/acceptance/api/change
1172 58
AbstractSubmit.java
in javatests/com/google/gerrit/acceptance/rest/change
1154 65
ChangeNotesParser.java
in java/com/google/gerrit/server/notedb
1145 53
gr-repo.ts
in polygerrit-ui/app/elements/admin/gr-repo
1140 53
gr-reply-dialog.ts
in polygerrit-ui/app/elements/change/gr-reply-dialog
1135 61
RefControlTest.java
in javatests/com/google/gerrit/server/permissions
1131 93
ChangeNotesStateTest.java
in javatests/com/google/gerrit/server/notedb
1126 52
ChangeData.java
in java/com/google/gerrit/server/query/change
1111 102
ProjectIT.java
in javatests/com/google/gerrit/acceptance/api/project
1087 86
ChangeOperationsImplTest.java
in javatests/com/google/gerrit/acceptance/testsuite/change
1085 74
CommitRewriter.java
in java/com/google/gerrit/server/notedb
1054 32
CreateChangeIT.java
in javatests/com/google/gerrit/acceptance/rest/change
1043 69
gr-diff-host.ts
in polygerrit-ui/app/elements/diff/gr-diff-host
1028 54
PatchsetOperationsImplTest.java
in javatests/com/google/gerrit/acceptance/testsuite/change
1001 71
ProjectConfigTest.java
in javatests/com/google/gerrit/server/project
995 46
ChangeField.java
in java/com/google/gerrit/server/index/change
988 52
TestKeys.java
in java/com/google/gerrit/gpg/testing
978 11
TestTrustKeys.java
in java/com/google/gerrit/gpg/testing
952 11
common.ts
in polygerrit-ui/app/types
925 6
Files With Most Units (Top 20)
File# lines# units
ChangeNotificationsIT.java
in javatests/com/google/gerrit/acceptance/server/mail
2228 231
AbstractQueryChangesTest.java
in javatests/com/google/gerrit/server/query/change
3611 217
ChangeIT.java
in javatests/com/google/gerrit/acceptance/api/change
3841 207
AbstractPushForReview.java
in javatests/com/google/gerrit/acceptance/git
2503 156
AccountIT.java
in javatests/com/google/gerrit/acceptance/api/accounts
2687 149
ChangeNotesTest.java
in javatests/com/google/gerrit/server/notedb
3435 133
RevisionDiffIT.java
in javatests/com/google/gerrit/acceptance/api/revision
2572 133
AbstractDaemonTest.java
in java/com/google/gerrit/acceptance
1542 123
GroupsIT.java
in javatests/com/google/gerrit/acceptance/api/group
1373 119
ChangeQueryBuilder.java
in java/com/google/gerrit/server/query/change
1501 116
gr-change-view.ts
in polygerrit-ui/app/elements/change/gr-change-view
2076 109
AttentionSetIT.java
in javatests/com/google/gerrit/acceptance/rest/change
1616 109
GroupConfigTest.java
in javatests/com/google/gerrit/server/group/db
1288 107
ReceiveCommits.java
in java/com/google/gerrit/server/git/receive
3028 105
ChangeData.java
in java/com/google/gerrit/server/query/change
1111 102
ProjectConfig.java
in java/com/google/gerrit/server/project
1604 99
gr-router.ts
in polygerrit-ui/app/elements/core/gr-router
1355 93
RefControlTest.java
in javatests/com/google/gerrit/server/permissions
1131 93
CommentsIT.java
in javatests/com/google/gerrit/acceptance/server/change
1782 89
ChangeApi.java
in java/com/google/gerrit/extensions/api/changes
490 87
Files With Long Lines (Top 20)

There are 46 files with lines longer than 120 characters. In total, there are 198 long lines.

File# lines# units# long lines
CommitRewriterTest.java
in javatests/com/google/gerrit/server/notedb
2146 47 32
soy
PolyGerritIndexHtml.soy
in resources/com/google/gerrit/httpd/raw
152 - 27
fonts.css
in polygerrit-ui/app/styles
144 - 14
ChangeNotesParserTest.java
in javatests/com/google/gerrit/server/notedb
700 39 14
polymerComponentParser.ts
in tools/polygerrit-updater/src/funcToClassConversion
254 16 12
lifecycleMethodsBuilder.ts
in tools/polygerrit-updater/src/funcToClassConversion
112 6 9
updatedFileWriter.ts
in tools/polygerrit-updater/src/funcToClassConversion
200 13 9
codeUtils.ts
in tools/polygerrit-updater/src/utils
143 18 8
polymerElementBuilder.ts
in tools/polygerrit-updater/src/funcToClassConversion
110 14 6
legacyPolymerFuncReplacer.ts
in tools/polygerrit-updater/src/funcToClassConversion
55 7 6
rules.bzl
in polygerrit-ui/app
80 - 6
polymerClassBuilder.ts
in tools/polygerrit-updater/src/utils
225 12 5
server.go
in polygerrit-ui
461 24 4
ChangeNotesCommitTest.java
in javatests/com/google/gerrit/server/notedb
95 8 3
fake_ldap.pl
in contrib
202 10 3
index.ts
in tools/polygerrit-updater/src
139 6 2
funcToClassBasedElementConverter.ts
in tools/polygerrit-updater/src/funcToClassConversion
99 3 2
launch
gerrit_daemon.launch
in tools/eclipse
17 - 2
licenses-map.ts
in tools/node_tools/node_modules_licenses
188 9 2
license.bzl
in tools/bzl
68 - 2