bazelbuild / rules_python
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
  • 5% duplication:
    • 4,544 cleaned lines of cleaned code (without empty lines, comments, and frequently duplicated constructs such as imports)
    • 239 duplicated lines
  • 31 duplicates
system5% (239 lines)
Duplication per Extension
bzl8% (171 lines)
go3% (44 lines)
py1% (24 lines)
Duplication per Component (primary)
python18% (132 lines)
gazelle4% (44 lines)
python/pip_install1% (24 lines)
ROOT7% (13 lines)
experimental/python72% (13 lines)
python/private13% (13 lines)
tools0% (0 lines)
python/runfiles0% (0 lines)
gazelle/manifest0% (0 lines)
gazelle/modules_mapping0% (0 lines)
gazelle/pythonconfig0% (0 lines)

Duplication Between Components (50+ lines)

G experimental/python experimental/python python python experimental/python--python 62 ROOT ROOT python--ROOT 62 python/private python/private python--python/private 62

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 31 duplicates...
Size#FoldersFilesLinesCode
21 x 2 python
python
pip.bzl
pip.bzl
62:88 (13%)
144:170 (13%)
view
16 x 2 gazelle
gazelle
kinds.go
kinds.go
21:36 (23%)
54:69 (23%)
view
13 x 2 python/private
ROOT
reexports.bzl
version.bzl
1:13 (37%)
1:13 (44%)
view
13 x 2 python
python
pip.bzl
python.bzl
1:13 (8%)
1:13 (24%)
view
13 x 2 experimental/python
python
wheel.bzl
packaging.bzl
1:13 (72%)
1:13 (3%)
view
13 x 2 python
ROOT
defs.bzl
version.bzl
1:13 (12%)
1:13 (44%)
view
13 x 2 python
python/private
defs.bzl
reexports.bzl
1:13 (12%)
1:13 (37%)
view
12 x 2 experimental/python
ROOT
wheel.bzl
version.bzl
2:13 (66%)
2:13 (41%)
view
12 x 2 python/private
python
reexports.bzl
python.bzl
2:13 (34%)
2:13 (22%)
view
12 x 2 gazelle
gazelle
kinds.go
kinds.go
25:36 (17%)
41:52 (17%)
view
12 x 2 experimental/python
python
wheel.bzl
pip.bzl
2:13 (66%)
2:13 (7%)
view
12 x 2 python
python
packaging.bzl
pip.bzl
2:13 (3%)
2:13 (7%)
view
12 x 2 python
python
defs.bzl
python.bzl
2:13 (11%)
2:13 (22%)
view
12 x 2 experimental/python
python
wheel.bzl
python.bzl
2:13 (66%)
2:13 (22%)
view
12 x 2 python
python
defs.bzl
pip.bzl
2:13 (11%)
2:13 (7%)
view
12 x 2 gazelle
gazelle
kinds.go
kinds.go
41:52 (17%)
58:69 (17%)
view
12 x 2 experimental/python
python
wheel.bzl
defs.bzl
2:13 (66%)
2:13 (11%)
view
12 x 2 python
python/private
pip.bzl
reexports.bzl
2:13 (7%)
2:13 (34%)
view
12 x 2 python
ROOT
packaging.bzl
version.bzl
2:13 (3%)
2:13 (41%)
view
12 x 2 python
python/private
packaging.bzl
reexports.bzl
2:13 (3%)
2:13 (34%)
view