aws-samples / terraform-datalake-scripts
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
  • 49% duplication:
    • 1,016 cleaned lines of cleaned code (without empty lines, comments, and frequently duplicated constructs such as imports)
    • 502 duplicated lines
  • 22 duplicates
system49% (502 lines)
Duplication per Extension
tf45% (420 lines)
tpl97% (82 lines)
Duplication per Component (primary)
modules/glue58% (184 lines)
modules/s374% (155 lines)
modules/glue/scripts97% (82 lines)
modules/iam29% (81 lines)
ROOT0% (0 lines)
modules/lake0% (0 lines)

Duplication Between Components (50+ lines)

G modules/glue modules/glue modules/s3 modules/s3 modules/glue--modules/s3 283

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 22 duplicates...
Size#FoldersFilesLinesCode
71 x 2 modules/glue
modules/s3
variables.tf
variables.tf
16:102 (85%)
4:89 (92%)
view
25 x 2 modules/glue/scripts
modules/glue/scripts
tpl
json-to-parquet.py.tpl
xml-to-parquet.py.tpl
20:47 (59%)
20:47 (59%)
view
18 x 2 modules/glue
modules/s3
bucket_assets.tf
main.tf
56:76 (14%)
55:75 (14%)
view
17 x 2 modules/glue
modules/s3
bucket_assets.tf
main.tf
34:53 (13%)
33:52 (13%)
view
16 x 2 modules/glue/scripts
modules/glue/scripts
tpl
json-to-parquet.py.tpl
xml-to-parquet.py.tpl
1:18 (38%)
1:18 (38%)
view
12 x 2 modules/glue
modules/s3
bucket_assets.tf
main.tf
79:92 (9%)
78:91 (9%)
view
11 x 2 modules/glue
modules/s3
bucket_assets.tf
main.tf
3:15 (8%)
3:15 (8%)
view
11 x 2 modules/glue
modules/s3
bucket_assets.tf
main.tf
17:31 (8%)
17:30 (8%)
view
11 x 2 modules/glue
modules/glue
job.tf
job.tf
32:44 (17%)
67:79 (17%)
view
10 x 2 modules/glue
modules/glue
job.tf
job.tf
17:30 (16%)
52:65 (16%)
view
9 x 2 modules/iam
modules/iam
glue.tf
glue.tf
141:149 (4%)
155:163 (4%)
view
8 x 2 modules/iam
modules/iam
glue.tf
instance.tf
186:193 (3%)
29:36 (15%)
view
8 x 2 modules/iam
modules/iam
glue.tf
glue.tf
46:53 (3%)
66:73 (3%)
view
8 x 2 modules/iam
modules/iam
glue.tf
glue.tf
128:135 (3%)
142:149 (3%)
view
8 x 2 modules/glue
modules/glue
bucket_assets.tf
bucket_assets.tf
30:39 (6%)
52:61 (6%)
view
8 x 2 modules/s3
modules/s3
main.tf
main.tf
75:83 (6%)
101:109 (6%)
view
8 x 2 modules/iam
modules/iam
glue.tf
glue.tf
128:135 (3%)
156:163 (3%)
view
8 x 2 modules/s3
modules/s3
main.tf
main.tf
29:38 (6%)
51:60 (6%)
view
7 x 2 modules/iam
modules/iam
glue.tf
glue.tf
137:143 (3%)
167:173 (3%)
view
6 x 2 modules/glue
modules/s3
bucket_assets.tf
main.tf
65:72 (4%)
89:97 (4%)
view