firebase / quickstart-unity
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
  • 87% duplication:
    • 21,417 cleaned lines of cleaned code (without empty lines, comments, and frequently duplicated constructs such as imports)
    • 18,834 duplicated lines
  • 16,977 duplicates
system87% (18,834 lines)
Duplication per Extension
asset99% (16,068 lines)
unity84% (1,962 lines)
cs27% (804 lines)
Duplication per Component (primary)
crashlytics97% (1,878 lines)
functions95% (1,873 lines)
firestore75% (1,840 lines)
analytics93% (1,764 lines)
dynamic_links90% (1,755 lines)
auth73% (1,745 lines)
database90% (1,723 lines)
storage82% (1,643 lines)
installations94% (1,585 lines)
remote_config91% (1,544 lines)
messaging89% (1,484 lines)

Duplication Between Components (50+ lines)

G crashlytics crashlytics functions functions crashlytics--functions 3666 dynamic_links dynamic_links crashlytics--dynamic_links 3502 firestore firestore crashlytics--firestore 3428 database database crashlytics--database 3390 installations installations crashlytics--installations 2492 storage storage crashlytics--storage 2390 remote_config remote_config crashlytics--remote_config 2420 messaging messaging crashlytics--messaging 2300 functions--installations 2418 functions--storage 2436 functions--remote_config 2394 analytics analytics analytics--crashlytics 3520 analytics--functions 3446 analytics--dynamic_links 3498 analytics--firestore 3440 auth auth analytics--auth 3366 analytics--database 3378 analytics--installations 2488 analytics--storage 2396 analytics--remote_config 2426 dynamic_links--functions 3456 dynamic_links--firestore 3450 dynamic_links--installations 2472 dynamic_links--storage 2408 dynamic_links--remote_config 2412 firestore--functions 3498 firestore--installations 2408 firestore--storage 2620 firestore--remote_config 2382 auth--crashlytics 3360 auth--functions 3380 auth--dynamic_links 3356 auth--firestore 3370 auth--database 3406 auth--installations 2410 auth--storage 2392 auth--remote_config 2418 auth--messaging 2344 database--functions 3378 database--dynamic_links 3368 database--firestore 3364 database--installations 2410 database--storage 2386 database--remote_config 2376 installations--storage 3062 installations--remote_config 3054 installations--messaging 2920 remote_config--storage 3002 messaging--storage 2894 messaging--remote_config 2938

Download: SVG DOT (open online Graphviz editor)

Open 3D force graph...

Show more details on duplication between components...
Longest Duplicates
The list of 20 longest duplicates.
See data for all 16,977 duplicates...
Size#FoldersFilesLinesCode
597 x 2 analytics/testapp/ProjectSettings
firestore/testapp/ProjectSettings
asset
ProjectSettings.asset
ProjectSettings.asset
166:762 (78%)
166:762 (78%)
view
597 x 2 analytics/testapp/ProjectSettings
crashlytics/testapp/ProjectSettings
asset
ProjectSettings.asset
ProjectSettings.asset
166:762 (78%)
166:762 (78%)
view
597 x 2 crashlytics/testapp/ProjectSettings
functions/testapp/ProjectSettings
asset
ProjectSettings.asset
ProjectSettings.asset
166:762 (78%)
166:762 (78%)
view
597 x 2 firestore/testapp/ProjectSettings
functions/testapp/ProjectSettings
asset
ProjectSettings.asset
ProjectSettings.asset
166:762 (78%)
166:762 (78%)
view
597 x 2 analytics/testapp/ProjectSettings
functions/testapp/ProjectSettings
asset
ProjectSettings.asset
ProjectSettings.asset
166:762 (78%)
166:762 (78%)
view
597 x 2 crashlytics/testapp/ProjectSettings
firestore/testapp/ProjectSettings
asset
ProjectSettings.asset
ProjectSettings.asset
166:762 (78%)
166:762 (78%)
view
565 x 2 auth/testapp/ProjectSettings
database/testapp/ProjectSettings
asset
ProjectSettings.asset
ProjectSettings.asset
166:730 (77%)
166:730 (77%)
view
467 x 2 installations/testapp/ProjectSettings
storage/testapp/ProjectSettings
asset
ProjectSettings.asset
ProjectSettings.asset
109:575 (81%)
109:575 (81%)
view
457 x 2 dynamic_links/testapp/ProjectSettings
firestore/testapp/ProjectSettings
asset
ProjectSettings.asset
ProjectSettings.asset
309:765 (59%)
306:762 (59%)
view
457 x 2 crashlytics/testapp/ProjectSettings
dynamic_links/testapp/ProjectSettings
asset
ProjectSettings.asset
ProjectSettings.asset
306:762 (59%)
309:765 (59%)
view
457 x 2 analytics/testapp/ProjectSettings
dynamic_links/testapp/ProjectSettings
asset
ProjectSettings.asset
ProjectSettings.asset
306:762 (59%)
309:765 (59%)
view
457 x 2 dynamic_links/testapp/ProjectSettings
functions/testapp/ProjectSettings
asset
ProjectSettings.asset
ProjectSettings.asset
309:765 (59%)
306:762 (59%)
view
359 x 2 installations/testapp/ProjectSettings
remote_config/testapp/ProjectSettings
asset
ProjectSettings.asset
ProjectSettings.asset
217:575 (62%)
191:549 (65%)
view
359 x 2 remote_config/testapp/ProjectSettings
storage/testapp/ProjectSettings
asset
ProjectSettings.asset
ProjectSettings.asset
191:549 (65%)
217:575 (62%)
view
295 x 2 auth/testapp/ProjectSettings
firestore/testapp/ProjectSettings
asset
InputManager.asset
InputManager.asset
1:295 (100%)
1:295 (100%)
view
295 x 2 crashlytics/testapp/ProjectSettings
firestore/testapp/ProjectSettings
asset
InputManager.asset
InputManager.asset
1:295 (100%)
1:295 (100%)
view
295 x 2 auth/testapp/ProjectSettings
crashlytics/testapp/ProjectSettings
asset
InputManager.asset
InputManager.asset
1:295 (100%)
1:295 (100%)
view
295 x 2 messaging/testapp/ProjectSettings
remote_config/testapp/ProjectSettings
asset
InputManager.asset
InputManager.asset
1:295 (100%)
1:295 (100%)
view
295 x 2 auth/testapp/ProjectSettings
dynamic_links/testapp/ProjectSettings
asset
InputManager.asset
InputManager.asset
1:295 (100%)
1:295 (100%)
view
295 x 2 installations/testapp/ProjectSettings
messaging/testapp/ProjectSettings
asset
InputManager.asset
InputManager.asset
1:295 (100%)
1:295 (100%)
view
Duplicated Units
The list of top 12 duplicated units.
See data for all 12 unit duplicates...
Size#FoldersFilesLinesCode
28 x 2 crashlytics/testapp/Asse...base/Sample/Crashlytics
functions/testapp/Assets/Firebase/Sample/Functions
Utils.cs
Utils.cs
33:61 
33:61 
view
21 x 2 remote_config/testapp/As...ase/Sample/RemoteConfig
auth/testapp/Assets/Firebase/Sample/Auth
UIHandler.cs
UIHandler.cs
218:244 
915:941 
view
21 x 3 installations/testapp/As...se/Sample/Installations
analytics/testapp/Assets/Firebase/Sample/Analytics
dynamic_links/testapp/As...ase/Sample/DynamicLinks
UIHandler.cs
UIHandler.cs
UIHandler.cs
177:203 
199:225 
232:258 
view
19 x 2 crashlytics/testapp/Asse...base/Sample/Crashlytics
functions/testapp/Assets/Firebase/Sample/Functions
Utils.cs
Utils.cs
65:84 
65:84 
view
12 x 2 crashlytics/testapp/Asse...base/Sample/Crashlytics
functions/testapp/Assets/Firebase/Sample/Functions
Utils.cs
Utils.cs
88:100 
88:100 
view
12 x 2 crashlytics/testapp/Asse...base/Sample/Crashlytics
functions/testapp/Assets/Firebase/Sample/Functions
Utils.cs
Utils.cs
104:116 
104:116 
view
10 x 3 remote_config/testapp/As...ase/Sample/RemoteConfig
auth/testapp/Assets/Firebase/Sample/Auth
messaging/testapp/Assets/Firebase/Sample/Messaging
UIHandler.cs
UIHandler.cs
UIHandler.cs
38:48 
79:89 
64:74 
view
10 x 6 firestore/testapp/Assets/Firebase/Sample/Firestore
crashlytics/testapp/Asse...base/Sample/Crashlytics
installations/testapp/As...se/Sample/Installations
analytics/testapp/Assets/Firebase/Sample/Analytics
functions/testapp/Assets/Firebase/Sample/Functions
dynamic_links/testapp/As...ase/Sample/DynamicLinks
UIHandler.cs
UIHandler.cs
UIHandler.cs
UIHandler.cs
UIHandler.cs
UIHandler.cs
64:74 
38:48 
41:51 
39:49 
41:51 
53:63 
view
8 x 6 remote_config/testapp/As...ase/Sample/RemoteConfig
crashlytics/testapp/Asse...base/Sample/Crashlytics
messaging/testapp/Assets/Firebase/Sample/Messaging
installations/testapp/As...se/Sample/Installations
analytics/testapp/Assets/Firebase/Sample/Analytics
dynamic_links/testapp/As...ase/Sample/DynamicLinks
UIHandler.cs
UIHandler.cs
UIHandler.cs
UIHandler.cs
UIHandler.cs
UIHandler.cs
170:180 
103:113 
146:156 
128:138 
138:148 
90:100 
view
8 x 5 firestore/testapp/Assets/Firebase/Sample/Firestore
storage/testapp/Assets/Firebase/Sample/Storage
auth/testapp/Assets/Firebase/Sample/Auth
functions/testapp/Assets/Firebase/Sample/Functions
database/testapp/Assets/Firebase/Sample/Database
UIHandler.cs
UIHandler.cs
UIHandler.cs
UIHandler.cs
UIHandler.cs
91:101 
113:123 
143:152 
71:81 
109:119 
view
8 x 2 firestore/testapp/Assets/Firebase/Sample/Firestore
storage/testapp/Assets/Firebase/Sample/Storage
UIHandler.cs
UIHandler.cs
247:255 
488:496 
view
6 x 2 firestore/testapp/Assets/Firebase/Sample/Firestore
storage/testapp/Assets/Firebase/Sample/Storage
UIHandler.cs
UIHandler.cs
153:159 
194:200 
view