firebase / firebase-unity-sdk
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
  • 42% duplication:
    • 56,122 cleaned lines of cleaned code (without empty lines, comments, and frequently duplicated constructs such as imports)
    • 23,622 duplicated lines
  • 19,416 duplicates
system42% (23,622 lines)
Duplication per Extension
asset99% (16,730 lines)
unity82% (4,026 lines)
cs9% (1,935 lines)
i7% (529 lines)
cmake10% (198 lines)
py2% (102 lines)
cc7% (56 lines)
h6% (30 lines)
swift14% (16 lines)
Duplication per Component (primary)
firestore26% (2,741 lines)
database44% (2,261 lines)
crashlytics69% (2,240 lines)
functions85% (2,142 lines)
storage46% (2,085 lines)
analytics80% (2,066 lines)
auth46% (2,041 lines)
dynamic_links71% (1,997 lines)
installations80% (1,865 lines)
remote_config75% (1,802 lines)
messaging57% (1,751 lines)
cmake10% (198 lines)
scripts5% (170 lines)
app4% (131 lines)
ROOT3% (44 lines)
editor1% (40 lines)
testapp13% (31 lines)
proxy41% (17 lines)
aar_builder0% (0 lines)

Duplication Between Components (50+ lines)

G crashlytics crashlytics functions functions crashlytics--functions 4164 dynamic_links dynamic_links crashlytics--dynamic_links 3974 database database crashlytics--database 3890 firestore firestore crashlytics--firestore 3776 installations installations crashlytics--installations 2998 remote_config remote_config crashlytics--remote_config 2914 storage storage crashlytics--storage 2902 functions--installations 2916 functions--remote_config 2892 functions--storage 2970 messaging messaging functions--messaging 2778 analytics analytics analytics--crashlytics 4122 analytics--functions 3910 analytics--dynamic_links 3962 auth auth analytics--auth 3830 analytics--database 3842 analytics--firestore 3778 analytics--installations 2990 analytics--remote_config 2920 analytics--storage 2878 analytics--messaging 2796 dynamic_links--functions 3938 dynamic_links--firestore 3798 dynamic_links--installations 2958 dynamic_links--remote_config 2898 dynamic_links--storage 2900 dynamic_links--messaging 2776 auth--crashlytics 3844 auth--functions 3870 auth--dynamic_links 3834 auth--database 3896 auth--firestore 3718 auth--installations 2926 auth--remote_config 2916 auth--storage 2896 auth--messaging 2844 database--functions 3880 database--dynamic_links 3850 database--firestore 3716 database--installations 2908 database--remote_config 2874 database--storage 2952 firestore--functions 3850 firestore--storage 3120 installations--remote_config 3563 installations--storage 3540 installations--messaging 3388 remote_config--storage 3480 messaging--remote_config 3410 messaging--storage 3350

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 19,416 duplicates...
Size#FoldersFilesLinesCode
600 x 2 firestore/testapp/ProjectSettings
functions/testapp/ProjectSettings
asset
ProjectSettings.asset
ProjectSettings.asset
167:766 (78%)
167:766 (78%)
view
600 x 2 crashlytics/testapp/ProjectSettings
functions/testapp/ProjectSettings
asset
ProjectSettings.asset
ProjectSettings.asset
167:766 (78%)
167:766 (78%)
view
600 x 2 crashlytics/testapp/ProjectSettings
firestore/testapp/ProjectSettings
asset
ProjectSettings.asset
ProjectSettings.asset
167:766 (78%)
167:766 (78%)
view
595 x 2 analytics/testapp/ProjectSettings
crashlytics/testapp/ProjectSettings
asset
ProjectSettings.asset
ProjectSettings.asset
169:763 (77%)
172:766 (77%)
view
595 x 2 analytics/testapp/ProjectSettings
firestore/testapp/ProjectSettings
asset
ProjectSettings.asset
ProjectSettings.asset
169:763 (77%)
172:766 (77%)
view
595 x 2 analytics/testapp/ProjectSettings
functions/testapp/ProjectSettings
asset
ProjectSettings.asset
ProjectSettings.asset
169:763 (77%)
172:766 (77%)
view
568 x 2 auth/testapp/ProjectSettings
database/testapp/ProjectSettings
asset
ProjectSettings.asset
ProjectSettings.asset
167:734 (77%)
167:734 (77%)
view
467 x 2 installations/testapp/ProjectSettings
storage/testapp/ProjectSettings
asset
ProjectSettings.asset
ProjectSettings.asset
121:587 (79%)
121:587 (79%)
view
457 x 2 dynamic_links/testapp/ProjectSettings
functions/testapp/ProjectSettings
asset
ProjectSettings.asset
ProjectSettings.asset
313:769 (59%)
310:766 (59%)
view
457 x 2 crashlytics/testapp/ProjectSettings
dynamic_links/testapp/ProjectSettings
asset
ProjectSettings.asset
ProjectSettings.asset
310:766 (59%)
313:769 (59%)
view
457 x 2 dynamic_links/testapp/ProjectSettings
firestore/testapp/ProjectSettings
asset
ProjectSettings.asset
ProjectSettings.asset
313:769 (59%)
310:766 (59%)
view
457 x 2 analytics/testapp/ProjectSettings
dynamic_links/testapp/ProjectSettings
asset
ProjectSettings.asset
ProjectSettings.asset
307:763 (59%)
313:769 (59%)
view
359 x 2 installations/testapp/ProjectSettings
remote_config/testapp/ProjectSettings
asset
ProjectSettings.asset
ProjectSettings.asset
229:587 (61%)
203:561 (63%)
view
359 x 2 remote_config/testapp/ProjectSettings
storage/testapp/ProjectSettings
asset
ProjectSettings.asset
ProjectSettings.asset
203:561 (63%)
229:587 (61%)
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 20 duplicated units.
See data for all 27 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 3 remote_config/testapp/As...ase/Sample/RemoteConfig
firestore/testapp/Assets/Firebase/Sample/Firestore
auth/testapp/Assets/Firebase/Sample/Auth
UIHandler.cs
UIHandler.cs
UIHandler.cs
218:244 
577:604 
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
18 x 2 firestore/testapp/Assets/Firebase/Sample/Firestore
storage/testapp/Assets/Firebase/Sample/Storage
UIHandlerAutomated.cs
UIHandlerAutomated.cs
3890:3908 
1145:1163 
view
15 x 2 firestore/testapp/Assets/Firebase/Sample/Firestore
firestore/testapp/Assets/Firebase/Sample/Firestore
UIHandler.cs
UIHandlerAutomated.cs
64:79 
425:440 
view
15 x 2 firestore/testapp/Assets/Firebase/Sample/Firestore
storage/testapp/Assets/Firebase/Sample/Storage
UIHandlerAutomated.cs
UIHandlerAutomated.cs
3918:3933 
1173:1188 
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
120:130 
38:48 
41:51 
39:49 
41:51 
53:63 
view
10 x 2 storage/src/internal
storage/src/internal
Preconditions.cs
Preconditions.cs
217:228 
264:275 
view
9 x 2 firestore/testapp/Assets/Firebase/Sample/Firestore
firestore/testapp/Assets/Firebase/Sample/Firestore
UIHandler.cs
UIHandlerAutomated.cs
103:115 
468:480 
view
9 x 2 crashlytics/testapp/Asse...base/Sample/Crashlytics
analytics/testapp/Assets/Firebase/Sample/Analytics
UIHandlerAutomated.cs
UIHandlerAutomated.cs
64:73 
13:22 
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 2 firestore/testapp/Assets/Firebase/Sample/Firestore
firestore/testapp/Assets/Firebase/Sample/Firestore
InvalidArgumentsTest.cs
InvalidArgumentsTest.cs
1103:1111 
1160:1168 
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
147:157 
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
509:517 
488:496 
view
8 x 2 firestore/src/swig
firestore/src/swig
transaction_manager.cc
transaction_manager.cc
105:113 
115:123 
view
8 x 2 storage/testapp/Assets/Firebase/Sample/Storage
database/testapp/Assets/Firebase/Sample/Database
UIHandlerAutomated.cs
UIHandlerAutomated.cs
237:245 
241:249 
view