facebookincubator / cargo-guppy
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
  • 76% duplication:
    • 100,268 cleaned lines of cleaned code (without empty lines, comments, and frequently duplicated constructs such as imports)
    • 76,343 duplicated lines
  • 33,018 duplicates
system76% (76,343 lines)
Duplication per Extension
toml91% (75,599 lines)
rs4% (744 lines)
Duplication per Component (primary)
fixtures/large93% (50,902 lines)
fixtures/guppy94% (19,363 lines)
fixtures/small76% (5,279 lines)
guppy/src3% (277 lines)
fixtures/src10% (223 lines)
tools/hakari2% (83 lines)
target-spec/src8% (68 lines)
tools/cargo-hakari5% (47 lines)
internal-tools/cargo-compare6% (36 lines)
guppy20% (12 lines)
guppy-summaries/src1% (12 lines)
internal-tools/fixture-manager2% (12 lines)
guppy-summaries25% (8 lines)
cargo-guppy/src<1% (8 lines)
target-spec12% (7 lines)
tools/determinator<1% (6 lines)
cargo-guppy0% (0 lines)
ROOT0% (0 lines)
guppy-cmdlib0% (0 lines)
guppy-cmdlib/src0% (0 lines)
scripts0% (0 lines)
fixtures0% (0 lines)
fixtures/workspace0% (0 lines)
internal-tools/benchmarks0% (0 lines)
internal-tools/proptest-ext0% (0 lines)
workspace-hack0% (0 lines)
workspace-hack/src0% (0 lines)

Duplication Between Components (50+ lines)

G fixtures/guppy fixtures/guppy fixtures/large fixtures/large fixtures/guppy--fixtures/large 12434 fixtures/small fixtures/small fixtures/guppy--fixtures/small 1228 fixtures/large--fixtures/small 3155

Download: SVG DOT (open online Graphviz editor)

Open 3D force graph...

Show more details on duplication between components...
Longest Duplicates
The list of 50 longest duplicates.
See data for all 33,018 duplicates...
Size#FoldersFilesLinesCode
813 x 2 fixtures/guppy/summaries
fixtures/guppy/summaries
173:1118 (76%)
163:1108 (77%)
view
488 x 2 fixtures/guppy/summaries
fixtures/guppy/summaries
113:679 (50%)
99:665 (51%)
view
311 x 2 fixtures/guppy/summaries
fixtures/guppy/summaries
752:1112 (32%)
705:1065 (33%)
view
284 x 2 fixtures/large/summaries
fixtures/large/summaries
2285:2614 (12%)
1982:2311 (13%)
view
225 x 2 fixtures/guppy/summaries
fixtures/guppy/summaries
363:623 (22%)
316:576 (24%)
view
223 x 2 fixtures/large/summaries
fixtures/large/summaries
1864:2122 (11%)
1891:2149 (11%)
view
198 x 2 fixtures/guppy/summaries
fixtures/guppy/summaries
422:651 (18%)
482:711 (17%)
view
198 x 2 fixtures/guppy/summaries
fixtures/guppy/summaries
482:711 (17%)
412:641 (18%)
view
197 x 2 fixtures/guppy/summaries
fixtures/guppy/summaries
658:886 (19%)
597:825 (21%)
view
194 x 2 fixtures/large/summaries
fixtures/large/summaries
1967:2192 (7%)
2563:2788 (6%)
view
188 x 2 fixtures/guppy/summaries
fixtures/guppy/summaries
756:974 (16%)
672:890 (18%)
view
188 x 2 fixtures/guppy/summaries
fixtures/guppy/summaries
682:900 (17%)
756:974 (16%)
view
179 x 2 fixtures/guppy/summaries
fixtures/guppy/summaries
798:1006 (18%)
751:959 (19%)
view
179 x 2 fixtures/guppy/summaries
fixtures/guppy/summaries
798:1006 (18%)
798:1006 (18%)
view
178 x 2 fixtures/guppy/summaries
fixtures/guppy/summaries
376:581 (35%)
399:604 (34%)
view
168 x 2 fixtures/guppy/summaries
fixtures/guppy/summaries
910:1105 (16%)
1109:1304 (14%)
view
164 x 2 fixtures/large/summaries
fixtures/large/summaries
1938:2127 (8%)
2236:2425 (7%)
view
164 x 2 fixtures/large/summaries
fixtures/large/summaries
1459:1648 (8%)
1468:1657 (7%)
view
160 x 2 fixtures/small/summaries
fixtures/small/summaries
21:205 (90%)
19:203 (91%)
view
153 x 2 fixtures/large/summaries
fixtures/large/summaries
1297:1474 (8%)
1285:1462 (9%)
view
150 x 2 fixtures/large/summaries
fixtures/large/summaries
1286:1459 (11%)
1906:2079 (7%)
view
150 x 2 fixtures/large/summaries
fixtures/large/summaries
1286:1459 (11%)
1933:2106 (7%)
view
148 x 2 fixtures/guppy/summaries
fixtures/guppy/summaries
1163:1333 (12%)
1044:1214 (14%)
view
148 x 2 fixtures/guppy/summaries
fixtures/guppy/summaries
123:294 (24%)
129:300 (16%)
view
147 x 2 fixtures/guppy/summaries
fixtures/guppy/summaries
798:968 (15%)
858:1028 (14%)
view
147 x 2 fixtures/guppy/summaries
fixtures/guppy/summaries
798:968 (15%)
858:1028 (14%)
view
147 x 2 fixtures/guppy/summaries
fixtures/guppy/summaries
751:921 (16%)
858:1028 (14%)
view
147 x 2 fixtures/guppy/summaries
fixtures/guppy/summaries
798:968 (15%)
868:1038 (13%)
view
147 x 2 fixtures/guppy/summaries
fixtures/guppy/summaries
868:1038 (13%)
751:921 (16%)
view
147 x 2 fixtures/guppy/summaries
fixtures/guppy/summaries
798:968 (15%)
868:1038 (13%)
view
146 x 2 fixtures/small/summaries
fixtures/small/summaries
29:197 (86%)
15:183 (93%)
view
146 x 2 fixtures/large/summaries
fixtures/large/summaries
837:1006 (7%)
900:1069 (7%)
view
146 x 2 fixtures/guppy/summaries
fixtures/guppy/summaries
945:1114 (15%)
987:1156 (14%)
view
142 x 2 fixtures/guppy/summaries
fixtures/guppy/summaries
98:262 (28%)
88:252 (25%)
view
142 x 2 fixtures/large/summaries
fixtures/large/summaries
564:728 (10%)
966:1130 (7%)
view
138 x 2 fixtures/large/summaries
fixtures/large/summaries
1661:1820 (6%)
974:1133 (9%)
view
137 x 2 fixtures/large/hakari
fixtures/large/hakari
125:261 (29%)
140:276 (28%)
view
135 x 2 fixtures/guppy/summaries
fixtures/guppy/summaries
495:651 (13%)
583:739 (11%)
view
134 x 2 fixtures/guppy/summaries
fixtures/guppy/summaries
408:562 (13%)
401:555 (14%)
view
134 x 2 fixtures/guppy/summaries
fixtures/guppy/summaries
415:569 (13%)
408:562 (13%)
view
134 x 2 fixtures/guppy/summaries
fixtures/guppy/summaries
401:555 (14%)
361:515 (14%)
view
134 x 2 fixtures/guppy/summaries
fixtures/guppy/summaries
415:569 (13%)
361:515 (14%)
view
133 x 2 fixtures/guppy/summaries
fixtures/guppy/summaries
350:503 (22%)
315:468 (23%)
view
131 x 2 fixtures/guppy/hakari
fixtures/guppy/hakari
191:322 (35%)
164:295 (39%)
view
130 x 2 fixtures/small/summaries
fixtures/small/summaries
16:166 (89%)
33:183 (70%)
view
129 x 2 fixtures/guppy/summaries
fixtures/guppy/summaries
523:672 (12%)
448:597 (14%)
view
129 x 2 fixtures/guppy/summaries
fixtures/guppy/summaries
448:597 (14%)
513:662 (12%)
view
129 x 2 fixtures/large/summaries
fixtures/large/summaries
2072:2221 (5%)
1783:1932 (6%)
view
124 x 2 fixtures/large/summaries
fixtures/large/summaries
1926:2068 (5%)
1638:1780 (6%)
view
124 x 2 fixtures/large/summaries
fixtures/large/summaries
3535:3678 (3%)
2154:2297 (6%)
view