aws-quickstart / quickstart-redhat-openshift
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
  • 14% duplication:
    • 65,744 cleaned lines of cleaned code (without empty lines, comments, and frequently duplicated constructs such as imports)
    • 9,386 duplicated lines
  • 967 duplicates
system14% (9,386 lines)
Duplication per Extension
py10% (6,322 lines)
yaml55% (3,020 lines)
h9% (44 lines)
Duplication per Component (primary)
functions/source/KeyGen14% (4,919 lines)
templates95% (1,296 lines)
functions/source/DeleteBucketContents5% (1,286 lines)
templates/openshift436% (992 lines)
templates/common47% (514 lines)
functions/source/OpenShiftResource18% (248 lines)
functions/source/CleanupPV57% (48 lines)
functions/source/ACMCert35% (48 lines)
functions/source/UnSubscribe38% (19 lines)
scripts/scaling/aws_openshift_quickstart1% (16 lines)
scripts/playbooks0% (0 lines)
scripts0% (0 lines)
scripts/scaling0% (0 lines)

Duplication Between Components (50+ lines)

G functions/source/DeleteBucketContents functions/source/DeleteBucketContents functions/source/KeyGen functions/source/KeyGen functions/source/DeleteBucketContents--functions/source/KeyGen 1110 templates templates templates/openshift4 templates/openshift4 templates--templates/openshift4 512 functions/source/OpenShiftResource functions/source/OpenShiftResource templates/common templates/common functions/source/OpenShiftResource--templates/common 423 templates/common--templates 213 templates/common--templates/openshift4 254 functions/source/ACMCert functions/source/ACMCert functions/source/CleanupPV functions/source/CleanupPV functions/source/ACMCert--functions/source/CleanupPV 96

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 967 duplicates...
Size#FoldersFilesLinesCode
411 x 2 templates
templates
openshift-main-existing-vpc.template....
openshift-main.template.yaml
217:627 (58%)
165:575 (62%)
view
121 x 2 functions/source/DeleteB...ntents/urllib3/packages
functions/source/KeyGen
six.py
six.py
50:236 (17%)
50:237 (18%)
view
64 x 2 functions/source/KeyGen/pycparser/ply
functions/source/KeyGen/pycparser/ply
yacc.py
yacc.py
849:954 (3%)
1141:1246 (3%)
view
64 x 2 functions/source/KeyGen/pycparser/ply
functions/source/KeyGen/pycparser/ply
yacc.py
yacc.py
591:683 (3%)
897:989 (3%)
view
63 x 2 functions/source/KeyGen/pycparser/ply
functions/source/KeyGen/pycparser/ply
yacc.py
yacc.py
697:798 (3%)
1003:1104 (3%)
view
62 x 2 functions/source/DeleteB...ntents/urllib3/packages
functions/source/KeyGen
six.py
six.py
694:802 (9%)
654:750 (9%)
view
60 x 2 templates
templates
openshift-main-existing-vpc.template....
openshift-main.template.yaml
644:703 (8%)
595:654 (9%)
view
60 x 2 functions/source/OpenShiftResource
templates/common
deploy.template.yaml
custom_lambda.template.yaml
5:64 (34%)
521:580 (8%)
view
53 x 2 functions/source/DeleteB...ntents/urllib3/packages
functions/source/KeyGen
six.py
six.py
516:595 (7%)
492:566 (8%)
view
50 x 2 functions/source/DeleteB...ntents/urllib3/packages
functions/source/KeyGen
six.py
six.py
809:865 (7%)
755:807 (7%)
view
49 x 2 templates
templates
openshift-main-existing-vpc.template....
openshift-main.template.yaml
36:84 (6%)
29:77 (7%)
view
46 x 2 functions/source/KeyGen/cffi
functions/source/KeyGen/cffi
vengine_cpy.py
vengine_gen.py
810:855 (5%)
629:674 (8%)
view
42 x 2 functions/source/DeleteB...ntents/urllib3/packages
functions/source/KeyGen
six.py
six.py
394:440 (6%)
384:430 (6%)
view
41 x 2 functions/source/KeyGen/pycparser/ply
functions/source/KeyGen/pycparser/ply
yacc.py
yacc.py
591:648 (1%)
1189:1246 (1%)
view
40 x 2 functions/source/OpenShiftResource
templates/common
resource-role.yaml
custom_lambda.template.yaml
27:66 (57%)
541:580 (5%)
view
40 x 2 functions/source/OpenShiftResource
functions/source/OpenShiftResource
deploy.template.yaml
resource-role.yaml
25:64 (22%)
27:66 (57%)
view
38 x 2 functions/source/KeyGen/cffi
functions/source/KeyGen/cffi
vengine_cpy.py
vengine_gen.py
531:573 (4%)
325:367 (6%)
view
36 x 2 templates
templates/openshift4
openshift-main.template.yaml
os4.template.yaml
341:376 (5%)
260:295 (4%)
view
36 x 2 templates
templates/openshift4
openshift-main-existing-vpc.template....
os4-controlplane.template.yaml
349:384 (5%)
53:88 (8%)
view
36 x 2 templates/openshift4
templates/openshift4
os4-worker.template.yaml
os4.template.yaml
39:74 (22%)
257:292 (4%)
view
Duplicated Units
The list of top 20 duplicated units.
See data for all 44 unit duplicates...
Size#FoldersFilesLinesCode
40 x 2 functions/source/KeyGen/pycparser
functions/source/KeyGen/pycparser
_ast_gen.py
c_ast.py
0:0 
0:0 
view
26 x 2 functions/source/ACMCert
functions/source/CleanupPV
cfnresponse.py
cfnresponse.py
0:0 
0:0 
view
27 x 2 functions/source/KeyGen/cffi
functions/source/KeyGen/cffi
vengine_gen.py
vengine_cpy.py
0:0 
0:0 
view
24 x 4 functions/source/KeyGen/...hazmat/backends/openssl
functions/source/KeyGen/...hazmat/backends/openssl
functions/source/KeyGen/...hazmat/backends/openssl
functions/source/KeyGen/...hazmat/backends/openssl
ed25519.py
x448.py
x25519.py
ed448.py
0:0 
0:0 
0:0 
0:0 
view
23 x 3 functions/source/KeyGen/...hazmat/backends/openssl
functions/source/KeyGen/...hazmat/backends/openssl
functions/source/KeyGen/...hazmat/backends/openssl
ed25519.py
x448.py
ed448.py
0:0 
0:0 
0:0 
view
16 x 2 functions/source/DeleteB...ntents/urllib3/packages
functions/source/KeyGen
six.py
six.py
0:0 
0:0 
view
16 x 2 functions/source/KeyGen/...hazmat/backends/openssl
functions/source/KeyGen/...hazmat/backends/openssl
ed25519.py
ed448.py
0:0 
0:0 
view
24 x 2 functions/source/KeyGen/asn1crypto
functions/source/KeyGen/asn1crypto
core.py
core.py
0:0 
0:0 
view
21 x 2 functions/source/KeyGen/asn1crypto
functions/source/KeyGen/asn1crypto
core.py
core.py
0:0 
0:0 
view
13 x 2 functions/source/KeyGen/pycparser
functions/source/KeyGen/pycparser
_ast_gen.py
c_ast.py
0:0 
0:0 
view
12 x 2 functions/source/DeleteB...ntents/urllib3/packages
functions/source/KeyGen
six.py
six.py
0:0 
0:0 
view
10 x 2 functions/source/KeyGen/...hazmat/backends/openssl
functions/source/KeyGen/...hazmat/backends/openssl
rsa.py
rsa.py
0:0 
0:0 
view
11 x 2 functions/source/KeyGen/...zmat/primitives/ciphers
functions/source/KeyGen/...zmat/primitives/ciphers
aead.py
aead.py
0:0 
0:0 
view
9 x 2 functions/source/DeleteB...ntents/urllib3/packages
functions/source/KeyGen
six.py
six.py
0:0 
0:0 
view
10 x 2 functions/source/DeleteB...ntents/urllib3/packages
functions/source/KeyGen
six.py
six.py
0:0 
0:0 
view
9 x 2 functions/source/KeyGen/cryptography/x509
functions/source/KeyGen/cryptography/x509
extensions.py
extensions.py
0:0 
0:0 
view
9 x 2 functions/source/KeyGen/...hazmat/backends/openssl
functions/source/KeyGen/...hazmat/backends/openssl
dsa.py
dsa.py
0:0 
0:0 
view
9 x 2 functions/source/DeleteB...ntents/urllib3/packages
functions/source/KeyGen
six.py
six.py
0:0 
0:0 
view
7 x 2 functions/source/DeleteB...ntents/urllib3/packages
functions/source/KeyGen
six.py
six.py
0:0 
0:0 
view
8 x 2 functions/source/DeleteB...ntents/urllib3/packages
functions/source/KeyGen
six.py
six.py
0:0 
0:0 
view