awslabs / aws-glue-libs
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
  • 24% duplication:
    • 2,894 cleaned lines of cleaned code (without empty lines, comments, and frequently duplicated constructs such as imports)
    • 696 duplicated lines
  • 195 duplicates
system24% (696 lines)
Duplication per Extension
py24% (696 lines)
Duplication per Component (primary)
awsglue/transforms49% (556 lines)
awsglue10% (140 lines)
awsglue/dataframe_transforms0% (0 lines)
awsglue/scripts0% (0 lines)
Longest Duplicates
The list of 20 longest duplicates.
See data for all 195 duplicates...
Size#FoldersFilesLinesCode
25 x 2 awsglue/transforms
awsglue/transforms
field_transforms.py
field_transforms.py
112:138 (7%)
177:203 (7%)
view
25 x 2 awsglue/transforms
awsglue/transforms
field_transforms.py
union.py
112:138 (7%)
30:56 (53%)
view
25 x 2 awsglue/transforms
awsglue/transforms
repartition.py
unnest_frame.py
25:51 (59%)
39:65 (60%)
view
25 x 2 awsglue/transforms
awsglue/transforms
dynamicframe_filter.py
field_transforms.py
30:56 (54%)
177:203 (7%)
view
25 x 2 awsglue/transforms
awsglue/transforms
field_transforms.py
union.py
177:203 (7%)
30:56 (53%)
view
25 x 2 awsglue/transforms
awsglue/transforms
drop_nulls.py
repartition.py
49:75 (45%)
25:51 (59%)
view
25 x 2 awsglue/transforms
awsglue/transforms
dynamicframe_filter.py
union.py
30:56 (54%)
30:56 (53%)
view
25 x 2 awsglue/transforms
awsglue/transforms
drop_nulls.py
unnest_frame.py
49:75 (45%)
39:65 (60%)
view
25 x 2 awsglue/transforms
awsglue/transforms
dynamicframe_filter.py
field_transforms.py
30:56 (54%)
112:138 (7%)
view
23 x 2 awsglue/transforms
awsglue/transforms
coalesce.py
dynamicframe_filter.py
32:56 (48%)
32:56 (50%)
view
23 x 2 awsglue/transforms
awsglue/transforms
apply_mapping.py
dynamicframe_map.py
38:62 (43%)
37:62 (45%)
view
23 x 2 awsglue/transforms
awsglue/transforms
coalesce.py
field_transforms.py
32:56 (48%)
179:203 (6%)
view
23 x 2 awsglue/transforms
awsglue/transforms
dynamicframe_map.py
field_transforms.py
37:62 (45%)
49:73 (6%)
view
23 x 2 awsglue/transforms
awsglue/transforms
coalesce.py
union.py
32:56 (48%)
32:56 (48%)
view
23 x 2 awsglue/transforms
awsglue/transforms
field_transforms.py
relationalize.py
264:288 (6%)
71:95 (36%)
view
23 x 2 awsglue/transforms
awsglue/transforms
coalesce.py
field_transforms.py
32:56 (48%)
114:138 (6%)
view
23 x 2 awsglue/transforms
awsglue/transforms
apply_mapping.py
field_transforms.py
38:62 (43%)
49:73 (6%)
view
22 x 2 awsglue/transforms
awsglue/transforms
field_transforms.py
unbox.py
47:68 (6%)
52:73 (28%)
view
21 x 2 awsglue/transforms
awsglue/transforms
field_transforms.py
field_transforms.py
252:272 (6%)
334:354 (6%)
view
20 x 2 awsglue/transforms
awsglue/transforms
dynamicframe_map.py
unbox.py
37:56 (39%)
54:73 (26%)
view