microsoft / Range-V3-VS2015
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:
    • 21,115 cleaned lines of cleaned code (without empty lines, comments, and frequently duplicated constructs such as imports)
    • 1,773 duplicated lines
  • 157 duplicates
system8% (1,773 lines)
Duplication per Extension
hpp8% (1,717 lines)
cpp11% (56 lines)
Duplication per Component (primary)
include/range/v3/algorithm14% (592 lines)
include/range/v3/view8% (472 lines)
include/range/v3/utility3% (190 lines)
include/range/v3/action14% (177 lines)
include/range/v35% (134 lines)
include/meta9% (124 lines)
example10% (30 lines)
include/range/v3/numeric9% (28 lines)
perf9% (26 lines)
doc0% (0 lines)
doc/std0% (0 lines)
include/range/v3/detail0% (0 lines)
Longest Duplicates
The list of 20 longest duplicates.
See data for all 157 duplicates...
Size#FoldersFilesLinesCode
32 x 2 include/meta
include/meta
meta.hpp
meta.hpp
2839:2880 (2%)
2935:2976 (2%)
view
26 x 2 include/range/v3
include/range/v3
begin_end.hpp
begin_end.hpp
58:89 (11%)
123:154 (11%)
view
18 x 2 include/range/v3/algorithm
include/range/v3/algorithm
permutation.hpp
permutation.hpp
77:101 (9%)
131:155 (9%)
view
17 x 2 include/range/v3/action
include/range/v3/action
sort.hpp
stable_sort.hpp
47:70 (32%)
47:70 (32%)
view
16 x 2 include/range/v3/algorithm
include/range/v3/algorithm
max.hpp
min.hpp
42:62 (44%)
42:62 (44%)
view
15 x 2 include/range/v3/algorithm
include/range/v3/algorithm
permutation.hpp
permutation.hpp
249:277 (7%)
306:334 (7%)
view
14 x 2 example
perf
comprehensions.cpp
counted_insertion_sort.cpp
55:77 (23%)
18:40 (13%)
view
13 x 2 include/range/v3/algorithm
include/range/v3/algorithm
permutation.hpp
permutation.hpp
227:244 (6%)
284:301 (6%)
view
13 x 2 include/range/v3/algorithm/aux_
include/range/v3/algorithm/aux_
merge_n_with_buffer.hpp
sort_n_with_buffer.hpp
48:62 (52%)
48:62 (48%)
view
12 x 2 include/range/v3/view
include/range/v3/view
iota.hpp
iota.hpp
193:217 (3%)
260:284 (3%)
view
12 x 2 include/range/v3/algorithm
include/range/v3/algorithm
max_element.hpp
min_element.hpp
49:70 (44%)
49:70 (44%)
view
12 x 2 include/range/v3/view
include/range/v3/view
join.hpp
join.hpp
105:121 (4%)
240:256 (4%)
view
11 x 2 include/range/v3/algorithm/aux_
include/range/v3/algorithm/aux_
lower_bound_n.hpp
upper_bound_n.hpp
33:48 (45%)
38:53 (45%)
view
11 x 2 include/range/v3/action
include/range/v3/action
stride.hpp
take.hpp
47:58 (18%)
48:59 (22%)
view
10 x 2 include/range/v3/action
include/range/v3/action
push_back.hpp
push_front.hpp
65:75 (16%)
65:75 (16%)
view
10 x 2 include/range/v3/algorithm
include/range/v3/algorithm
all_of.hpp
any_of.hpp
34:47 (38%)
35:48 (38%)
view
10 x 2 include/range/v3/algorithm
include/range/v3/algorithm
max_element.hpp
min_element.hpp
34:47 (37%)
34:47 (37%)
view
9 x 2 include/range/v3/view
include/range/v3/view
drop_while.hpp
remove_if.hpp
109:120 (11%)
146:157 (8%)
view
9 x 2 include/range/v3/utility
include/range/v3/utility
variant.hpp
variant.hpp
634:645 (1%)
657:669 (1%)
view
9 x 2 include/range/v3/action
include/range/v3/view
split.hpp
split.hpp
103:117 (18%)
288:301 (5%)
view
Duplicated Units
The list of top 11 duplicated units.
See data for all 11 unit duplicates...
Size#FoldersFilesLinesCode
14 x 2 include/range/v3/action
include/range/v3/view
split.hpp
split.hpp
96:110 
281:295 
view
11 x 2 include/range/v3/action
include/range/v3/action
push_back.hpp
push_front.hpp
102:113 
102:113 
view
11 x 2 include/range/v3/view
include/range/v3/view
join.hpp
join.hpp
106:117 
241:252 
view
9 x 3 include/range/v3/view
include/range/v3/view
include/range/v3/view
drop_while.hpp
remove_if.hpp
take_while.hpp
134:143 
171:180 
178:187 
view
9 x 2 include/range/v3/view
include/range/v3/view
partial_sum.hpp
partial_sum.hpp
87:96 
116:125 
view
8 x 2 include/range/v3/view
include/range/v3/view
iota.hpp
iota.hpp
424:432 
489:497 
view
7 x 2 include/range/v3/utility
include/range/v3/utility
common_tuple.hpp
common_tuple.hpp
251:258 
269:276 
view
7 x 2 include/range/v3/view
include/range/v3/view
generate.hpp
generate_n.hpp
112:119 
124:131 
view
7 x 2 include/range/v3/view
include/range/v3/view
map.hpp
map.hpp
85:92 
120:127 
view
7 x 2 include/range/v3/view
include/range/v3/view
zip_with.hpp
zip_with.hpp
313:320 
334:341 
view
7 x 2 include/range/v3/view
include/range/v3/view
zip_with.hpp
zip_with.hpp
321:328 
347:354 
view