firebase / snippets-android
Duplication

Places in code with 6 or more lines that are exactly the same.

Intro
  • For duplication, we look at places in code where there are 6 or more lines of code that are exactly the same.
  • Before duplication is calculated, the code is cleaned to remove empty lines, comments, and frequently duplicated constructs such as imports.
  • You should aim at having as little as possible (<5%) of duplicated code as high-level of duplication can lead to maintenance difficulties, poor factoring, and logical contradictions.
Learn more...
Duplication Overall
  • 12% duplication:
    • 7,593 cleaned lines of cleaned code (without empty lines, comments, and frequently duplicated constructs such as imports)
    • 948 duplicated lines
  • 103 duplicates
system12% (948 lines)
Duplication per Extension
java16% (674 lines)
kt8% (274 lines)
Duplication per Component (primary)
auth15% (205 lines)
firestore11% (201 lines)
mlkit19% (167 lines)
storage20% (115 lines)
predictions33% (108 lines)
dynamic-links20% (66 lines)
database9% (62 lines)
ml-functions9% (24 lines)
scripts0% (0 lines)
crashlytics0% (0 lines)
messaging0% (0 lines)
test-lab0% (0 lines)
appindexing0% (0 lines)
analytics0% (0 lines)
functions0% (0 lines)
dl-invites0% (0 lines)
inappmessaging0% (0 lines)
appcheck0% (0 lines)
perf0% (0 lines)
tasks0% (0 lines)
admob0% (0 lines)
firebaseoptions0% (0 lines)
Longest Duplicates
The list of 20 longest duplicates.
See data for all 103 duplicates...
Size#FoldersFilesLinesCode
12 x 2 storage/app/src/main/jav...e/referencecode/storage
storage/app/src/main/jav...e/referencecode/storage
DownloadActivity.java
UploadActivity.java
25:44 (48%)
29:48 (30%)
view
12 x 2 predictions/app/src/main...ase/example/predictions
predictions/app/src/main...ase/example/predictions
MainActivity.java
MainActivity.java
86:99 (12%)
133:146 (12%)
view
12 x 2 firestore/app/src/main/j...oogle/example/firestore
firestore/app/src/main/j...oogle/example/firestore
DocSnippets.java
DocSnippets.java
163:176 (1%)
191:204 (1%)
view
12 x 2 predictions/app/src/main...ase/example/predictions
predictions/app/src/main...ase/example/predictions
MainActivity.java
PreventChurnActivity.java
133:146 (12%)
22:35 (50%)
view
12 x 2 database/app/src/main/ja.../referencecode/database
database/app/src/main/ja.../referencecode/database
OfflineActivity.java
OfflineActivity.java
42:60 (12%)
65:83 (12%)
view
12 x 2 predictions/app/src/main...ase/example/predictions
predictions/app/src/main...ase/example/predictions
MainActivity.java
PreventChurnActivity.java
86:99 (12%)
22:35 (50%)
view
11 x 2 predictions/app/src/main...mple/predictions/kotlin
predictions/app/src/main...mple/predictions/kotlin
MainActivity.kt
MainActivity.kt
22:40 (13%)
72:90 (13%)
view
11 x 2 auth/app/src/main/java/c.../quickstart/auth/kotlin
auth/app/src/main/java/c.../quickstart/auth/kotlin
FacebookLoginActivity.kt
MainActivity.kt
85:97 (25%)
510:522 (4%)
view
10 x 2 firestore/app/src/main/j...oogle/example/firestore
firestore/app/src/main/j...oogle/example/firestore
DocSnippets.java
DocSnippets.java
737:749 (1%)
756:768 (1%)
view
10 x 2 firestore/app/src/main/j...oogle/example/firestore
firestore/app/src/main/j...oogle/example/firestore
DocSnippets.java
DocSnippets.java
833:845 (1%)
881:892 (1%)
view
10 x 2 firestore/app/src/main/j...oogle/example/firestore
firestore/app/src/main/j...oogle/example/firestore
DocSnippets.java
DocSnippets.java
337:348 (1%)
376:387 (1%)
view
10 x 2 storage/app/src/main/jav...e/referencecode/storage
storage/app/src/main/jav...e/referencecode/storage
StorageActivity.java
StorageActivity.java
455:470 (3%)
483:498 (3%)
view
10 x 2 firestore/app/src/main/j...oogle/example/firestore
firestore/app/src/main/j...oogle/example/firestore
DocSnippets.java
DocSnippets.java
799:810 (1%)
831:843 (1%)
view
10 x 2 auth/app/src/main/java/c...irebase/quickstart/auth
auth/app/src/main/java/c...irebase/quickstart/auth
AnonymousAuthActivity.java
CustomAuthActivity.java
42:60 (22%)
41:59 (34%)
view
10 x 2 auth/app/src/main/java/c...irebase/quickstart/auth
auth/app/src/main/java/c...irebase/quickstart/auth
FacebookLoginActivity.java
GoogleSignInActivity.java
112:123 (20%)
106:117 (20%)
view
10 x 2 dynamic-links/app/src/ma...quickstart/dynamiclinks
dynamic-links/app/src/ma...quickstart/dynamiclinks
MainActivity.java
ReferralActivity.java
60:69 (10%)
36:45 (10%)
view
9 x 2 mlkit/app/src/main/java/.../firebase/example/mlkit
mlkit/app/src/main/java/.../firebase/example/mlkit
ImageLabelingActivity.java
ImageLabelingActivity.java
58:73 (18%)
105:120 (18%)
view
9 x 2 mlkit/app/src/main/java/...se/example/mlkit/kotlin
mlkit/app/src/main/java/...se/example/mlkit/kotlin
TextRecognitionActivity.kt
TextRecognitionActivity.kt
24:44 (10%)
65:85 (10%)
view
9 x 2 dynamic-links/app/src/ma...quickstart/dynamiclinks
dynamic-links/app/src/ma...quickstart/dynamiclinks
MainActivity.java
MainActivity.java
97:110 (9%)
118:131 (9%)
view
9 x 2 storage/app/src/main/jav...e/referencecode/storage
storage/app/src/main/jav...e/referencecode/storage
StorageActivity.java
StorageActivity.java
262:271 (3%)
289:298 (3%)
view
Duplicated Units
The list of top 3 duplicated units.
See data for all 3 unit duplicates...
Size#FoldersFilesLinesCode
20 x 2 predictions/app/src/main...mple/predictions/kotlin
predictions/app/src/main...mple/predictions/kotlin
MainActivity.kt
MainActivity.kt
16:45 
66:95 
view
11 x 2 ml-functions/app/src/mai.../google/com/mlfunctions
ml-functions/app/src/mai.../google/com/mlfunctions
MainActivity.java
MainActivity.java
111:127 
129:145 
view
8 x 2 auth/app/src/main/java/c...irebase/quickstart/auth
auth/app/src/main/java/c...irebase/quickstart/auth
EmailPasswordActivity.java
MultiFactorActivity.java
106:118 
53:65 
view