bazelbuild / rules_dotnet
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
  • 63% duplication:
    • 34,964 cleaned lines of cleaned code (without empty lines, comments, and frequently duplicated constructs such as imports)
    • 22,139 duplicated lines
  • 4,610 duplicates
system63% (22,139 lines)
Duplication per Extension
bzl69% (21,667 lines)
cs8% (266 lines)
c22% (188 lines)
xslt36% (18 lines)
Duplication per Component (primary)
dotnet/private/stdlib74% (20,722 lines)
dotnet/private/rules42% (619 lines)
dotnet/private/actions37% (240 lines)
tools/simpleresgen/mono9% (114 lines)
dotnet/private14% (86 lines)
tools/nuget2bazel/rules18% (84 lines)
tools/nuget2bazel4% (68 lines)
dotnet/tools/launcher_core_xunit72% (57 lines)
dotnet/tools/launcher_core_nunit372% (57 lines)
dotnet/tools/common11% (44 lines)
dotnet/tools/symlink41% (20 lines)
tools/converttests26% (18 lines)
dotnet/tools/launcher_core20% (10 lines)
dotnet/toolchain0% (0 lines)
dotnet0% (0 lines)
dotnet/tools/empty0% (0 lines)
dotnet/tools/md50% (0 lines)
dotnet/tools/copy0% (0 lines)
dotnet/tools/md5sum0% (0 lines)
dotnet/platform0% (0 lines)
tools/simpleresgen0% (0 lines)

Duplication Between Components (50+ lines)

G dotnet/tools/launcher_core_nunit3 dotnet/tools/launcher_core_nunit3 dotnet/tools/launcher_core_xunit dotnet/tools/launcher_core_xunit dotnet/tools/launcher_core_nunit3--dotnet/tools/launcher_core_xunit 114

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 4,610 duplicates...
Size#FoldersFilesLinesCode
353 x 2 dotnet/private/stdlib
dotnet/private/stdlib
3.1.100-runtime.bzl
3.1.407-runtime.bzl
167:520 (44%)
167:520 (44%)
view
166 x 2 dotnet/private/stdlib
dotnet/private/stdlib
6.0.101-runtime.bzl
6.0.101-runtime.bzl
291:456 (22%)
458:623 (22%)
view
166 x 2 dotnet/private/stdlib
dotnet/private/stdlib
6.0.101-runtime.bzl
6.0.101-runtime.bzl
124:289 (22%)
458:623 (22%)
view
166 x 2 dotnet/private/stdlib
dotnet/private/stdlib
5.0.404-runtime.bzl
6.0.101-runtime.bzl
376:541 (22%)
358:523 (22%)
view
166 x 2 dotnet/private/stdlib
dotnet/private/stdlib
6.0.101-runtime.bzl
6.0.101-runtime.bzl
124:289 (22%)
291:456 (22%)
view
165 x 2 dotnet/private/stdlib
dotnet/private/stdlib
5.0.404-runtime.bzl
5.0.404-runtime.bzl
310:474 (21%)
476:640 (21%)
view
165 x 2 dotnet/private/stdlib
dotnet/private/stdlib
5.0.404-runtime.bzl
5.0.404-runtime.bzl
144:308 (21%)
310:474 (21%)
view
165 x 2 dotnet/private/stdlib
dotnet/private/stdlib
5.0.404-runtime.bzl
5.0.404-runtime.bzl
144:308 (21%)
476:640 (21%)
view
131 x 2 dotnet/private/stdlib
dotnet/private/stdlib
5.0.404.bzl
6.0.101.bzl
3625:3755 (2%)
3737:3867 (2%)
view
101 x 2 dotnet/private/stdlib
dotnet/private/stdlib
5.0.404-runtime.bzl
6.0.101-runtime.bzl
542:642 (13%)
525:625 (13%)
view
99 x 2 dotnet/private/stdlib
dotnet/private/stdlib
5.0.404-runtime.bzl
6.0.101-runtime.bzl
542:640 (13%)
191:289 (13%)
view
99 x 2 dotnet/private/stdlib
dotnet/private/stdlib
5.0.404-runtime.bzl
6.0.101-runtime.bzl
376:474 (13%)
191:289 (13%)
view
99 x 2 dotnet/private/stdlib
dotnet/private/stdlib
5.0.404-runtime.bzl
6.0.101-runtime.bzl
542:640 (13%)
358:456 (13%)
view
99 x 2 dotnet/private/stdlib
dotnet/private/stdlib
5.0.404-runtime.bzl
6.0.101-runtime.bzl
376:474 (13%)
525:623 (13%)
view
99 x 2 dotnet/private/stdlib
dotnet/private/stdlib
5.0.404-runtime.bzl
6.0.101-runtime.bzl
210:308 (13%)
191:289 (13%)
view
99 x 2 dotnet/private/stdlib
dotnet/private/stdlib
5.0.404-runtime.bzl
6.0.101-runtime.bzl
210:308 (13%)
358:456 (13%)
view
99 x 2 dotnet/private/stdlib
dotnet/private/stdlib
5.0.404-runtime.bzl
6.0.101-runtime.bzl
210:308 (13%)
525:623 (13%)
view
98 x 2 dotnet/private/stdlib
dotnet/private/stdlib
3.1.100.bzl
3.1.407.bzl
638:735 (2%)
1147:1244 (2%)
view
90 x 2 dotnet/private/stdlib
dotnet/private/stdlib
5.0.201.bzl
5.0.404.bzl
605:694 (1%)
410:499 (1%)
view
88 x 2 dotnet/private/stdlib
dotnet/private/stdlib
3.1.100-runtime.bzl
5.0.201-runtime.bzl
433:520 (11%)
387:474 (11%)
view
Duplicated Units
The list of top 2 duplicated units.
See data for all 2 unit duplicates...
Size#FoldersFilesLinesCode
44 x 2 dotnet/tools/launcher_core_xunit
dotnet/tools/launcher_core_nunit3
main.c
main.c
23:77 
23:77 
view
21 x 2 dotnet/tools/launcher_core_xunit
dotnet/tools/launcher_core_nunit3
main.c
main.c
129:158 
131:159 
view