google / nomulus
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 1,354 files with 109,882 lines of code.
    • 3 very long files (6,539 lines of code)
    • 9 long files (6,032 lines of code)
    • 95 medium size files (27,906 lines of codeclsfd_ftr_w_mp_ins)
    • 214 small files (30,471 lines of code)
    • 1,033 very small files (38,934 lines of code)
5% | 5% | 25% | 27% | 35%
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
css82% | 0% | 4% | 2% | 9%
js50% | 0% | 0% | 25% | 24%
java1% | 6% | 26% | 29% | 36%
soy0% | 0% | 45% | 29% | 25%
py0% | 0% | 37% | 31% | 30%
yaml0% | 0% | 14% | 17% | 67%
tf0% | 0% | 0% | 39% | 60%
in0% | 0% | 0% | 0% | 100%
asc0% | 0% | 0% | 0% | 100%
html0% | 0% | 0% | 0% | 100%
File Size per Logical Decomposition
primary
1001+
501-1000
201-500
101-200
1-100
core6% | 6% | 26% | 27% | 33%
prober0% | 0% | 35% | 28% | 35%
config0% | 0% | 81% | 18% | 0%
proxy0% | 0% | 13% | 21% | 64%
util0% | 0% | 7% | 22% | 69%
buildSrc0% | 0% | 32% | 37% | 30%
networking0% | 0% | 49% | 30% | 20%
release0% | 0% | 0% | 50% | 49%
common0% | 0% | 0% | 37% | 62%
processor0% | 0% | 0% | 80% | 19%
java-format0% | 0% | 0% | 0% | 100%
python0% | 0% | 0% | 0% | 100%
db0% | 0% | 0% | 0% | 100%
Longest Files (Top 50)
File# lines# units
kd_components.css
in core/src/main/javascript/google/registry/ui/css
3953 -
soyutils_usegoog.js
in core/src/main/javascript
1386 123
DomainFlowUtils.java
in core/src/main/java/google/registry/flows/domain
1200 99
JpaTransactionManagerImpl.java
in core/src/main/java/google/registry/persistence/transaction
958 125
RegistryConfig.java
in core/src/main/java/google/registry/config
775 150
Registrar.java
in core/src/main/java/google/registry/model/registrar
680 90
Registry.java
in core/src/main/java/google/registry/model/tld
676 86
DomainContent.java
in core/src/main/java/google/registry/model/domain
664 75
RdapJsonFormatter.java
in core/src/main/java/google/registry/rdap
644 17
BillingEvent.java
in core/src/main/java/google/registry/model/billing
581 78
RdePipeline.java
in core/src/main/java/google/registry/beam/rde
546 8
DeleteContactsAndHostsAction.java
in core/src/main/java/google/registry/batch
508 16
PollMessage.java
in core/src/main/java/google/registry/model/poll
498 34
BigqueryConnection.java
in core/src/main/java/google/registry/bigquery
496 47
DatastoreV1.java
in core/src/main/java/google/registry/beam/datastore
492 37
RdapDomainSearchAction.java
in core/src/main/java/google/registry/rdap
486 12
EppModule.java
in prober/src/main/java/google/registry/monitoring/blackbox/module
486 39
DomainCreateFlow.java
in core/src/main/java/google/registry/flows/domain
479 13
RegistrarSettingsAction.java
in core/src/main/java/google/registry/ui/server/registrar
462 19
SqlSnapshots.java
in core/src/main/java/google/registry/beam/comparedb
456 12
ShellCommand.java
in core/src/main/java/google/registry/tools
420 23
DatastoreTransactionManager.java
in core/src/main/java/google/registry/model/ofy
401 64
FormField.java
in core/src/main/java/google/registry/ui/forms
384 35
CreateOrUpdateRegistrarCommand.java
in core/src/main/java/google/registry/tools
380 2
HistoryEntry.java
in core/src/main/java/google/registry/model/reporting
371 43
DomainDeleteFlow.java
in core/src/main/java/google/registry/flows/domain
361 6
RdapObjectClasses.java
in core/src/main/java/google/registry/rdap
360 23
soy
ContactSettings.soy
in core/src/main/resources/google/registry/ui/soy/registrar
359 -
RegistrarContact.java
in core/src/main/java/google/registry/model/registrar
354 45
soy
RegistrarCreateConsole.soy
in core/src/main/resources/google/registry/ui/soy/registrar
354 -
RdapEntitySearchAction.java
in core/src/main/java/google/registry/rdap
353 6
RdapSearchActionBase.java
in core/src/main/java/google/registry/rdap
345 24
RegistrarFormFields.java
in core/src/main/java/google/registry/ui/server
340 3
CreateOrUpdateTldCommand.java
in core/src/main/java/google/registry/tools
335 5
DomainCommand.java
in core/src/main/java/google/registry/model/domain
333 31
soy
Console.soy
in core/src/main/resources/google/registry/ui/soy/registrar
332 -
ExpandRecurringBillingEventsAction.java
in core/src/main/java/google/registry/batch
327 8
soy
Forms.soy
in core/src/main/resources/google/registry/ui/soy/registrar
324 -
DeleteProberDataAction.java
in core/src/main/java/google/registry/batch
320 9
Transforms.java
in core/src/main/java/google/registry/beam/initsql
318 13
nom_build.py
in config
314 5
PersistenceModule.java
in core/src/main/java/google/registry/persistence
314 16
EppInput.java
in core/src/main/java/google/registry/model/eppinput
308 25
DomainLockUtils.java
in core/src/main/java/google/registry/tools
305 16
DomainHistory.java
in core/src/main/java/google/registry/model/domain
302 31
UpdateDomainCommand.java
in core/src/main/java/google/registry/tools
301 3
RefreshDnsOnHostRenameAction.java
in core/src/main/java/google/registry/batch
299 7
ValidateSqlUtils.java
in core/src/main/java/google/registry/beam/comparedb
295 11
RdapDataStructures.java
in core/src/main/java/google/registry/rdap
294 22
EppResourceUtils.java
in core/src/main/java/google/registry/model
293 21
Files With Most Units (Top 20)
File# lines# units
RegistryConfig.java
in core/src/main/java/google/registry/config
775 150
JpaTransactionManagerImpl.java
in core/src/main/java/google/registry/persistence/transaction
958 125
soyutils_usegoog.js
in core/src/main/javascript
1386 123
DomainFlowUtils.java
in core/src/main/java/google/registry/flows/domain
1200 99
Registrar.java
in core/src/main/java/google/registry/model/registrar
680 90
Registry.java
in core/src/main/java/google/registry/model/tld
676 86
BillingEvent.java
in core/src/main/java/google/registry/model/billing
581 78
DomainContent.java
in core/src/main/java/google/registry/model/domain
664 75
DatastoreTransactionManager.java
in core/src/main/java/google/registry/model/ofy
401 64
ReadOnlyCheckingEntityManager.java
in core/src/main/java/google/registry/persistence/transaction
250 52
BigqueryConnection.java
in core/src/main/java/google/registry/bigquery
496 47
RegistrarContact.java
in core/src/main/java/google/registry/model/registrar
354 45
HistoryEntry.java
in core/src/main/java/google/registry/model/reporting
371 43
EppModule.java
in prober/src/main/java/google/registry/monitoring/blackbox/module
486 39
PosixTarHeader.java
in util/src/main/java/google/registry/util
243 38
DatastoreV1.java
in core/src/main/java/google/registry/beam/datastore
492 37
ContactBase.java
in core/src/main/java/google/registry/model/contact
288 35
HttpException.java
in core/src/main/java/google/registry/request
156 35
FormField.java
in core/src/main/java/google/registry/ui/forms
384 35
PollMessage.java
in core/src/main/java/google/registry/model/poll
498 34
Files With Long Lines (Top 4)

There are 4 files with lines longer than 120 characters. In total, there are 28 long lines.

File# lines# units# long lines
kd_components.css
in core/src/main/javascript/google/registry/ui/css
3953 - 10
default-config.yaml
in core/src/main/java/google/registry/config/files
217 - 9
soyutils_usegoog.js
in core/src/main/javascript
1386 123 8
soy
coverpage.soy
in buildSrc/src/main/resources/google/registry/gradle/plugin/soy
97 - 1