whatsapp / StringPacks
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 44 files with 2,676 lines of code.
    • 0 very long files (0 lines of code)
    • 1 long files (687 lines of code)
    • 4 medium size files (907 lines of codeclsfd_ftr_w_mp_ins)
    • 2 small files (247 lines of code)
    • 37 very small files (835 lines of code)
0% | 25% | 33% | 9% | 31%
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
java0% | 36% | 25% | 7% | 30%
py0% | 0% | 59% | 14% | 26%
xml0% | 0% | 0% | 0% | 100%
kt0% | 0% | 0% | 0% | 100%
File Size per Logical Decomposition
primary
1001+
501-1000
201-500
101-200
1-100
library/src/main/java/com/whatsapp0% | 42% | 29% | 8% | 19%
library/scripts0% | 0% | 59% | 14% | 26%
sample/app/src/main/java/com0% | 0% | 0% | 0% | 100%
sample/app/src/main/string-packs/strings0% | 0% | 0% | 0% | 100%
sample/app/src/main/res/layout0% | 0% | 0% | 0% | 100%
sample/app/src/main/res/values0% | 0% | 0% | 0% | 100%
library/templates0% | 0% | 0% | 0% | 100%
library0% | 0% | 0% | 0% | 100%
sample/app/src/main/res/values-zh-rTW0% | 0% | 0% | 0% | 100%
sample/app/src/main/res/values-fr0% | 0% | 0% | 0% | 100%
sample/app/src/main/res/values-es0% | 0% | 0% | 0% | 100%
sample/app/src/main/res/values-ar0% | 0% | 0% | 0% | 100%
sample/app/src/main/res/values-zh0% | 0% | 0% | 0% | 100%
sample/app/src/main/res/values-ha-rNG0% | 0% | 0% | 0% | 100%
Longest Files (Top 44)
File# lines# units
PluralRules.java
in library/src/main/java/com/whatsapp/stringpacks
687 7
StringPackResources.java
in library/src/main/java/com/whatsapp/stringpacks
240 46
StringPacks.java
in library/src/main/java/com/whatsapp/stringpacks
232 17
string_pack.py
in library/scripts
225 22
find_movable_strings.py
in library/scripts
210 11
MMappedStringPack.java
in library/src/main/java/com/whatsapp/stringpacks
144 7
move_strings_for_packing.py
in library/scripts
103 5
MainActivity.java
in sample/app/src/main/java/com/whatsapp/stringpacks/sample
93 8
string_pack_config.py
in library/scripts
85 7
pack_strings.py
in library/scripts
83 10
ParsedStringPack.java
in library/src/main/java/com/whatsapp/stringpacks
80 5
SampleApplication.java
in sample/app/src/main/java/com/whatsapp/stringpacks/sample
42 3
StringPackData.java
in library/src/main/java/com/whatsapp/stringpacks
39 -
LanguageChangeHandler.java
in sample/app/src/main/java/com/whatsapp/stringpacks/sample
34 4
SpLog.java
in library/src/main/java/com/whatsapp/stringpacks
33 5
StringPackContext.java
in library/src/main/java/com/whatsapp/stringpacks
33 4
LocaleUtil.java
in sample/app/src/main/java/com/whatsapp/stringpacks/sample
33 1
LocaleMetaDataProviderImpl.java
in sample/app/src/main/java/com/whatsapp/stringpacks/sample
31 3
StringPackUtils.java
in library/src/main/java/com/whatsapp/stringpacks
28 2
PackFileDeletionService.java
in library/src/main/java/com/whatsapp/stringpacks/service
27 2
assemble_string_packs.py
in library/scripts
22 2
FileUtils.java
in library/src/main/java/com/whatsapp/stringpacks/utils
22 2
ContextUtils.java
in library/src/main/java/com/whatsapp/stringpacks/utils
18 1
activity_main.xml
in sample/app/src/main/res/layout
18 -
strings.xml
in sample/app/src/main/res/values
15 -
MyPackageReplacedReceiver.java
in library/src/main/java/com/whatsapp/stringpacks/receiver
13 1
StringPackIds.java
in sample/app/src/main/java/com/whatsapp/stringpacks/sample
12 1
StringPackIds.java
in library/templates
7 1
StringPacksLocaleMetaDataProvider.java
in library/src/main/java/com/whatsapp/stringpacks
7 -
Logger.java
in library/src/main/java/com/whatsapp/stringpacks
7 -
lint.xml
in library
6 -
StringPackIds.kt
in library/templates
5 1
strings.xml
in sample/app/src/main/string-packs/strings/values-zh-rTW
4 -
strings.xml
in sample/app/src/main/string-packs/strings/values-fr
4 -
strings.xml
in sample/app/src/main/string-packs/strings/values-es
4 -
strings.xml
in sample/app/src/main/string-packs/strings/values-ar
4 -
strings.xml
in sample/app/src/main/string-packs/strings/values-zh
4 -
strings.xml
in sample/app/src/main/string-packs/strings/values-ha-rNG
4 -
strings.xml
in sample/app/src/main/res/values-zh-rTW
3 -
strings.xml
in sample/app/src/main/res/values-fr
3 -
strings.xml
in sample/app/src/main/res/values-es
3 -
strings.xml
in sample/app/src/main/res/values-ar
3 -
strings.xml
in sample/app/src/main/res/values-zh
3 -
strings.xml
in sample/app/src/main/res/values-ha-rNG
3 -
Files With Most Units (Top 26)
File# lines# units
StringPackResources.java
in library/src/main/java/com/whatsapp/stringpacks
240 46
string_pack.py
in library/scripts
225 22
StringPacks.java
in library/src/main/java/com/whatsapp/stringpacks
232 17
find_movable_strings.py
in library/scripts
210 11
pack_strings.py
in library/scripts
83 10
MainActivity.java
in sample/app/src/main/java/com/whatsapp/stringpacks/sample
93 8
string_pack_config.py
in library/scripts
85 7
MMappedStringPack.java
in library/src/main/java/com/whatsapp/stringpacks
144 7
PluralRules.java
in library/src/main/java/com/whatsapp/stringpacks
687 7
move_strings_for_packing.py
in library/scripts
103 5
SpLog.java
in library/src/main/java/com/whatsapp/stringpacks
33 5
ParsedStringPack.java
in library/src/main/java/com/whatsapp/stringpacks
80 5
StringPackContext.java
in library/src/main/java/com/whatsapp/stringpacks
33 4
LanguageChangeHandler.java
in sample/app/src/main/java/com/whatsapp/stringpacks/sample
34 4
LocaleMetaDataProviderImpl.java
in sample/app/src/main/java/com/whatsapp/stringpacks/sample
31 3
SampleApplication.java
in sample/app/src/main/java/com/whatsapp/stringpacks/sample
42 3
assemble_string_packs.py
in library/scripts
22 2
StringPackUtils.java
in library/src/main/java/com/whatsapp/stringpacks
28 2
FileUtils.java
in library/src/main/java/com/whatsapp/stringpacks/utils
22 2
PackFileDeletionService.java
in library/src/main/java/com/whatsapp/stringpacks/service
27 2
StringPackIds.kt
in library/templates
5 1
StringPackIds.java
in library/templates
7 1
ContextUtils.java
in library/src/main/java/com/whatsapp/stringpacks/utils
18 1
MyPackageReplacedReceiver.java
in library/src/main/java/com/whatsapp/stringpacks/receiver
13 1
LocaleUtil.java
in sample/app/src/main/java/com/whatsapp/stringpacks/sample
33 1
StringPackIds.java
in sample/app/src/main/java/com/whatsapp/stringpacks/sample
12 1
Files With Long Lines (Top 1)

There is only one file with lines longer than 120 characters. In total, there is only one long line.

File# lines# units# long lines
PluralRules.java
in library/src/main/java/com/whatsapp/stringpacks
687 7 1
Correlations

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

library/scripts/find_movable_strings.py x: 5 commits (all time) y: 210 lines of code library/scripts/string_pack.py x: 6 commits (all time) y: 225 lines of code library/scripts/string_pack_config.py x: 4 commits (all time) y: 85 lines of code sample/app/src/main/java/com/whatsapp/stringpacks/sample/MainActivity.java x: 7 commits (all time) y: 93 lines of code library/src/main/java/com/whatsapp/stringpacks/StringPacks.java x: 16 commits (all time) y: 232 lines of code library/src/main/java/com/whatsapp/stringpacks/StringPacksLocaleMetaDataProvider.java x: 9 commits (all time) y: 7 lines of code sample/app/src/main/java/com/whatsapp/stringpacks/sample/LocaleMetaDataProviderImpl.java x: 6 commits (all time) y: 31 lines of code sample/app/src/main/java/com/whatsapp/stringpacks/sample/SampleApplication.java x: 9 commits (all time) y: 42 lines of code sample/app/src/main/res/values-ha-rNG/strings.xml x: 4 commits (all time) y: 3 lines of code sample/app/src/main/string-packs/strings/values-ha-rNG/strings.xml x: 4 commits (all time) y: 4 lines of code sample/app/src/main/res/values/strings.xml x: 8 commits (all time) y: 15 lines of code library/src/main/java/com/whatsapp/stringpacks/utils/FileUtils.java x: 2 commits (all time) y: 22 lines of code library/src/main/java/com/whatsapp/stringpacks/service/PackFileDeletionService.java x: 2 commits (all time) y: 27 lines of code sample/app/src/main/java/com/whatsapp/stringpacks/sample/LocaleUtil.java x: 4 commits (all time) y: 33 lines of code library/src/main/java/com/whatsapp/stringpacks/utils/ContextUtils.java x: 2 commits (all time) y: 18 lines of code library/src/main/java/com/whatsapp/stringpacks/ParsedStringPack.java x: 15 commits (all time) y: 80 lines of code library/src/main/java/com/whatsapp/stringpacks/receiver/MyPackageReplacedReceiver.java x: 1 commits (all time) y: 13 lines of code library/src/main/java/com/whatsapp/stringpacks/StringPackUtils.java x: 1 commits (all time) y: 28 lines of code sample/app/src/main/java/com/whatsapp/stringpacks/sample/LanguageChangeHandler.java x: 1 commits (all time) y: 34 lines of code sample/app/src/main/java/com/whatsapp/stringpacks/sample/StringPackIds.java x: 5 commits (all time) y: 12 lines of code library/src/main/java/com/whatsapp/stringpacks/StringPackResources.java x: 1 commits (all time) y: 240 lines of code library/src/main/java/com/whatsapp/stringpacks/SpLog.java x: 1 commits (all time) y: 33 lines of code library/src/main/java/com/whatsapp/stringpacks/StringPackContext.java x: 3 commits (all time) y: 33 lines of code library/src/main/java/com/whatsapp/stringpacks/MMappedStringPack.java x: 4 commits (all time) y: 144 lines of code library/lint.xml x: 1 commits (all time) y: 6 lines of code library/scripts/move_strings_for_packing.py x: 1 commits (all time) y: 103 lines of code library/scripts/pack_strings.py x: 3 commits (all time) y: 83 lines of code sample/app/src/main/string-packs/strings/values-ar/strings.xml x: 1 commits (all time) y: 4 lines of code library/templates/StringPackIds.java x: 1 commits (all time) y: 7 lines of code library/templates/StringPackIds.kt x: 1 commits (all time) y: 5 lines of code library/scripts/assemble_string_packs.py x: 1 commits (all time) y: 22 lines of code library/src/main/java/com/whatsapp/stringpacks/StringPackData.java x: 2 commits (all time) y: 39 lines of code sample/app/src/main/res/values-ar/strings.xml x: 2 commits (all time) y: 3 lines of code
240.0
lines of code
  min: 3.0
  average: 47.19
  25th percentile: 4.0
  median: 20.0
  75th percentile: 51.5
  max: 240.0
0 16.0
commits (all time)
min: 1.0 | average: 3.62 | 25th percentile: 1.0 | median: 2.0 | 75th percentile: 4.25 | max: 16.0

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

library/scripts/find_movable_strings.py x: 3 contributors (all time) y: 210 lines of code library/scripts/string_pack.py x: 4 contributors (all time) y: 225 lines of code library/scripts/string_pack_config.py x: 3 contributors (all time) y: 85 lines of code sample/app/src/main/java/com/whatsapp/stringpacks/sample/MainActivity.java x: 3 contributors (all time) y: 93 lines of code library/src/main/java/com/whatsapp/stringpacks/StringPacks.java x: 4 contributors (all time) y: 232 lines of code library/src/main/java/com/whatsapp/stringpacks/StringPacksLocaleMetaDataProvider.java x: 3 contributors (all time) y: 7 lines of code sample/app/src/main/java/com/whatsapp/stringpacks/sample/LocaleMetaDataProviderImpl.java x: 2 contributors (all time) y: 31 lines of code sample/app/src/main/java/com/whatsapp/stringpacks/sample/SampleApplication.java x: 3 contributors (all time) y: 42 lines of code sample/app/src/main/res/values-ha-rNG/strings.xml x: 2 contributors (all time) y: 3 lines of code sample/app/src/main/string-packs/strings/values-ha-rNG/strings.xml x: 2 contributors (all time) y: 4 lines of code sample/app/src/main/res/values/strings.xml x: 4 contributors (all time) y: 15 lines of code library/src/main/java/com/whatsapp/stringpacks/utils/FileUtils.java x: 1 contributors (all time) y: 22 lines of code library/src/main/java/com/whatsapp/stringpacks/service/PackFileDeletionService.java x: 1 contributors (all time) y: 27 lines of code sample/app/src/main/java/com/whatsapp/stringpacks/sample/LocaleUtil.java x: 2 contributors (all time) y: 33 lines of code library/src/main/java/com/whatsapp/stringpacks/utils/ContextUtils.java x: 1 contributors (all time) y: 18 lines of code library/src/main/java/com/whatsapp/stringpacks/ParsedStringPack.java x: 5 contributors (all time) y: 80 lines of code library/src/main/java/com/whatsapp/stringpacks/receiver/MyPackageReplacedReceiver.java x: 1 contributors (all time) y: 13 lines of code library/src/main/java/com/whatsapp/stringpacks/StringPackUtils.java x: 1 contributors (all time) y: 28 lines of code sample/app/src/main/java/com/whatsapp/stringpacks/sample/LanguageChangeHandler.java x: 1 contributors (all time) y: 34 lines of code sample/app/src/main/java/com/whatsapp/stringpacks/sample/StringPackIds.java x: 2 contributors (all time) y: 12 lines of code library/src/main/java/com/whatsapp/stringpacks/StringPackResources.java x: 1 contributors (all time) y: 240 lines of code library/src/main/java/com/whatsapp/stringpacks/SpLog.java x: 1 contributors (all time) y: 33 lines of code library/src/main/java/com/whatsapp/stringpacks/MMappedStringPack.java x: 2 contributors (all time) y: 144 lines of code library/lint.xml x: 1 contributors (all time) y: 6 lines of code library/scripts/move_strings_for_packing.py x: 1 contributors (all time) y: 103 lines of code library/scripts/pack_strings.py x: 2 contributors (all time) y: 83 lines of code sample/app/src/main/string-packs/strings/values-ar/strings.xml x: 1 contributors (all time) y: 4 lines of code library/templates/StringPackIds.java x: 1 contributors (all time) y: 7 lines of code library/templates/StringPackIds.kt x: 1 contributors (all time) y: 5 lines of code library/src/main/java/com/whatsapp/stringpacks/StringPackData.java x: 2 contributors (all time) y: 39 lines of code sample/app/src/main/res/layout/activity_main.xml x: 2 contributors (all time) y: 18 lines of code sample/app/src/main/res/values-zh/strings.xml x: 1 contributors (all time) y: 3 lines of code
240.0
lines of code
  min: 3.0
  average: 47.19
  25th percentile: 4.0
  median: 20.0
  75th percentile: 51.5
  max: 240.0
0 5.0
contributors (all time)
min: 1.0 | average: 1.88 | 25th percentile: 1.0 | median: 2.0 | 75th percentile: 2.0 | max: 5.0

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

No data for "commits (30d)" vs. "lines of code".

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

No data for "contributors (30d)" vs. "lines of code".


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

library/scripts/find_movable_strings.py x: 1 commits (90d) y: 210 lines of code
210.0
lines of code
  min: 210.0
  average: 210.0
  25th percentile: 210.0
  median: 210.0
  75th percentile: 210.0
  max: 210.0
0 1.0
commits (90d)
min: 1.0 | average: 1.0 | 25th percentile: 1.0 | median: 1.0 | 75th percentile: 1.0 | max: 1.0

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

library/scripts/find_movable_strings.py x: 1 contributors (90d) y: 210 lines of code
210.0
lines of code
  min: 210.0
  average: 210.0
  25th percentile: 210.0
  median: 210.0
  75th percentile: 210.0
  max: 210.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