microsoft / wil
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
  • 7% duplication:
    • 16,399 cleaned lines of cleaned code (without empty lines, comments, and frequently duplicated constructs such as imports)
    • 1,250 duplicated lines
  • 872 duplicates
system7% (1,250 lines)
Duplication per Extension
h7% (1,250 lines)
Duplication per Component (primary)
include/wil7% (1,250 lines)
cmake0% (0 lines)
packaging/nuget0% (0 lines)
scripts0% (0 lines)
Longest Duplicates
The list of 20 longest duplicates.
See data for all 872 duplicates...
Size#FoldersFilesLinesCode
19 x 2 include/wil
include/wil
wistd_memory.h
wistd_memory.h
386:408 (2%)
641:663 (2%)
view
18 x 2 include/wil
include/wil
cppwinrt.h
cppwinrt.h
134:162 (12%)
175:203 (12%)
view
18 x 2 include/wil
include/wil
wistd_memory.h
wistd_memory.h
358:380 (2%)
605:627 (2%)
view
17 x 2 include/wil
include/wil
wistd_memory.h
wistd_memory.h
543:564 (2%)
820:843 (2%)
view
16 x 2 include/wil
include/wil
result_macros.h
result_macros.h
3736:3765 (<1%)
3776:3805 (<1%)
view
13 x 2 include/wil
include/wil
Tracelogging.h
Tracelogging.h
2507:2519 (<1%)
2525:2537 (<1%)
view
13 x 2 include/wil
include/wil
result_macros.h
result_macros.h
2874:2895 (<1%)
2908:2929 (<1%)
view
12 x 2 include/wil
include/wil
Tracelogging.h
Tracelogging.h
2437:2448 (<1%)
2454:2465 (<1%)
view
12 x 2 include/wil
include/wil
Tracelogging.h
Tracelogging.h
1913:1924 (<1%)
1934:1945 (<1%)
view
12 x 2 include/wil
include/wil
Tracelogging.h
Tracelogging.h
2438:2449 (<1%)
2473:2484 (<1%)
view
12 x 2 include/wil
include/wil
Tracelogging.h
Tracelogging.h
2472:2483 (<1%)
2489:2500 (<1%)
view
12 x 2 include/wil
include/wil
Tracelogging.h
Tracelogging.h
1835:1846 (<1%)
1852:1863 (<1%)
view
11 x 2 include/wil
include/wil
Tracelogging.h
Tracelogging.h
2438:2448 (<1%)
2508:2518 (<1%)
view
11 x 2 include/wil
include/wil
Tracelogging.h
Tracelogging.h
2372:2382 (<1%)
2405:2415 (<1%)
view
11 x 2 include/wil
include/wil
Tracelogging.h
Tracelogging.h
2438:2448 (<1%)
2526:2536 (<1%)
view
11 x 2 include/wil
include/wil
Tracelogging.h
Tracelogging.h
1838:1848 (<1%)
2440:2450 (<1%)
view
11 x 2 include/wil
include/wil
Tracelogging.h
Tracelogging.h
2455:2465 (<1%)
2473:2483 (<1%)
view
11 x 2 include/wil
include/wil
Tracelogging.h
Tracelogging.h
2455:2465 (<1%)
2490:2500 (<1%)
view
11 x 2 include/wil
include/wil
Tracelogging.h
Tracelogging.h
2455:2465 (<1%)
2526:2536 (<1%)
view
11 x 2 include/wil
include/wil
Tracelogging.h
Tracelogging.h
2490:2500 (<1%)
2526:2536 (<1%)
view
Duplicated Units
The list of top 4 duplicated units.
See data for all 4 unit duplicates...
Size#FoldersFilesLinesCode
8 x 2 include/wil
include/wil
com.h
resource.h
339:347 
1559:1567 
view
6 x 2 include/wil
include/wil
resource.h
resource.h
3964:3970 
4210:4216 
view
6 x 2 include/wil
include/wil
resource.h
resource.h
3972:3978 
4218:4224 
view
6 x 2 include/wil
include/wil
resource.h
resource.h
3999:4005 
4227:4233 
view