facebook / yoga
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
  • 8% duplication:
    • 24,683 cleaned lines of cleaned code (without empty lines, comments, and frequently duplicated constructs such as imports)
    • 2,033 duplicated lines
  • 290 duplicates
system8% (2,033 lines)
Duplication per Extension
xml63% (628 lines)
cpp6% (391 lines)
vcxproj76% (358 lines)
targets53% (184 lines)
js3% (153 lines)
filters87% (130 lines)
h1% (105 lines)
java1% (32 lines)
m6% (26 lines)
swift6% (14 lines)
css1% (12 lines)
Duplication per Component (primary)
csharp24% (672 lines)
android41% (640 lines)
yoga6% (348 lines)
lib1% (94 lines)
website2% (81 lines)
java3% (74 lines)
gentest2% (56 lines)
YogaKit5% (40 lines)
javascript2% (28 lines)
benchmark0% (0 lines)
ROOT0% (0 lines)
tools0% (0 lines)
util0% (0 lines)
testutil0% (0 lines)
Longest Duplicates
The list of 50 longest duplicates.
See data for all 290 duplicates...
Size#FoldersFilesLinesCode
84 x 2 csharp/Windows/Build
csharp/Windows/Build
5:126 (95%)
5:126 (95%)
view
47 x 2 android/sample/res/layout
android/sample/res/layout
33:79 (24%)
141:187 (24%)
view
47 x 2 android/sample/res/layout
android/sample/res/layout
21:67 (24%)
93:139 (24%)
view
47 x 2 android/sample/res/layout
android/sample/res/layout
32:78 (25%)
140:186 (25%)
view
47 x 2 android/sample/res/layout
android/sample/res/layout
20:66 (25%)
92:138 (25%)
view
41 x 2 csharp/Yoga
csharp/Yoga
1:58 (59%)
1:58 (51%)
view
40 x 2 android/sample/res/layout
android/sample/res/layout
39:79 (40%)
60:100 (40%)
view
38 x 2 android/sample/res/layout
android/sample/res/layout
34:72 (42%)
54:92 (42%)
view
38 x 2 android/sample/res/layout
android/sample/res/layout
81:118 (20%)
153:190 (20%)
view
37 x 2 android/sample/res/layout
android/sample/res/layout
80:116 (19%)
152:188 (19%)
view
35 x 2 android/sample/res/layout
android/sample/res/layout
105:139 (18%)
141:175 (18%)
view
35 x 2 android/sample/res/layout
android/sample/res/layout
45:79 (18%)
81:115 (18%)
view
35 x 2 android/sample/res/layout
android/sample/res/layout
104:138 (18%)
140:174 (18%)
view
35 x 2 android/sample/res/layout
android/sample/res/layout
44:78 (18%)
80:114 (18%)
view
26 x 2 android/sample/res/layout
android/sample/res/layout
21:46 (13%)
165:190 (13%)
view
25 x 2 android/sample/res/layout
android/sample/res/layout
20:44 (13%)
164:188 (13%)
view
23 x 2 android/sample/res/layout
android/sample/res/layout
27:49 (12%)
87:109 (12%)
view
23 x 2 android/sample/res/layout
android/sample/res/layout
27:49 (12%)
51:73 (12%)
view
23 x 2 android/sample/res/layout
android/sample/res/layout
15:37 (12%)
135:157 (12%)
view
23 x 2 android/sample/res/layout
android/sample/res/layout
86:108 (12%)
98:120 (12%)
view
23 x 2 android/sample/res/layout
android/sample/res/layout
99:121 (12%)
159:181 (12%)
view
23 x 2 android/sample/res/layout
android/sample/res/layout
98:120 (12%)
158:180 (12%)
view
23 x 2 android/sample/res/layout
android/sample/res/layout
81:103 (12%)
117:139 (12%)
view
23 x 2 android/sample/res/layout
android/sample/res/layout
21:43 (12%)
57:79 (12%)
view
23 x 2 android/sample/res/layout
android/sample/res/layout
50:72 (12%)
98:120 (12%)
view
23 x 2 android/sample/res/layout
android/sample/res/layout
51:73 (12%)
99:121 (12%)
view
23 x 2 android/sample/res/layout
android/sample/res/layout
87:109 (12%)
99:121 (12%)
view
23 x 2 android/sample/res/layout
android/sample/res/layout
26:48 (12%)
50:72 (12%)
view
23 x 2 android/sample/res/layout
android/sample/res/layout
26:48 (12%)
86:108 (12%)
view
23 x 2 android/sample/res/layout
android/sample/res/layout
27:49 (12%)
159:181 (12%)
view
23 x 2 android/sample/res/layout
android/sample/res/layout
62:84 (12%)
122:144 (12%)
view
23 x 2 android/sample/res/layout
android/sample/res/layout
80:102 (12%)
116:138 (12%)
view
23 x 2 android/sample/res/layout
android/sample/res/layout
20:42 (12%)
56:78 (12%)
view
23 x 2 android/sample/res/layout
android/sample/res/layout
26:48 (12%)
158:180 (12%)
view
23 x 2 android/sample/res/layout
android/sample/res/layout
14:36 (12%)
134:156 (12%)
view
23 x 2 android/sample/res/layout
android/sample/res/layout
63:85 (12%)
123:145 (12%)
view
22 x 2 csharp/Yoga
csharp/Yoga
75:105 (9%)
72:102 (9%)
view
22 x 2 android/sample/res/layout
android/sample/res/layout
84:106 (18%)
108:130 (18%)
view
22 x 2 android/sample/res/layout
android/sample/res/layout
36:58 (18%)
60:82 (18%)
view
22 x 2 android/sample/res/layout
android/sample/res/layout
36:58 (18%)
84:106 (18%)
view
22 x 2 android/sample/res/layout
android/sample/res/layout
60:82 (18%)
84:106 (18%)
view
22 x 2 android/sample/res/layout
android/sample/res/layout
60:82 (18%)
108:130 (18%)
view
22 x 2 android/sample/res/layout
android/sample/res/layout
36:58 (18%)
108:130 (18%)
view
21 x 2 csharp/Yoga
csharp/Yoga
2:29 (8%)
2:29 (9%)
view
20 x 2 android/sample/res/layout
android/sample/res/layout
159:178 (10%)
171:190 (10%)
view
20 x 2 android/sample/res/layout
android/sample/res/layout
51:70 (10%)
171:190 (10%)
view
20 x 2 android/sample/res/layout
android/sample/res/layout
39:58 (20%)
81:100 (20%)
view
20 x 2 android/sample/res/layout
android/sample/res/layout
87:106 (10%)
171:190 (10%)
view
20 x 2 csharp/Yoga
csharp/Yoga
269:297 (8%)
259:287 (8%)
view
19 x 2 android/sample/res/layout
android/sample/res/layout
34:52 (21%)
74:92 (21%)
view
Duplicated Units
The list of top 1 duplicated units.
See data for all 1 unit duplicate
Size#FoldersFilesLinesCode
9 x 2 gentest
gentest
19:29 
26:36 
view