aws-samples / aws-document-classifier-and-splitter
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
  • 11% duplication:
    • 1,076 cleaned lines of cleaned code (without empty lines, comments, and frequently duplicated constructs such as imports)
    • 124 duplicated lines
  • 10 duplicates
system11% (124 lines)
Duplication per Extension
yaml27% (76 lines)
py6% (48 lines)
Duplication per Component (primary)
workflow1_endpointbuilder/sam-app26% (47 lines)
workflow2_docsplitter/sam-app/functions/docsplitter_function34% (31 lines)
workflow2_docsplitter/sam-app27% (29 lines)
workflow3_local5% (17 lines)
workflow2_docsplitter/sample_request_folder0% (0 lines)
workflow2_docsplitter/sam-app/functions/getalbinfo_function0% (0 lines)
workflow1_endpointbuilder/sam-app/functions/function1_createtableandfunction3trigger0% (0 lines)
workflow1_endpointbuilder/sam-app/functions/function3_processobjectsandupdaterows0% (0 lines)
workflow1_endpointbuilder/sam-app/functions/function5_createcsv0% (0 lines)
workflow1_endpointbuilder/sam-app/functions/function4_checktablestatus0% (0 lines)
workflow1_endpointbuilder/sam-app/functions/function9_checkendpointstatus0% (0 lines)
workflow1_endpointbuilder/sam-app/functions/function7_checkclassifierstatus0% (0 lines)
workflow1_endpointbuilder/sam-app/functions/function2_inserttablerowswithobjectkeys0% (0 lines)
workflow1_endpointbuilder/sam-app/functions/function6_trainclassifier0% (0 lines)
workflow1_endpointbuilder/sam-app/functions/function8_buildendpoint0% (0 lines)

Duplication Between Components (50+ lines)

G workflow1_endpointbuilder/sam-app workflow1_endpointbuilder/sam-app workflow2_docsplitter/sam-app workflow2_docsplitter/sam-app workflow1_endpointbuilder/sam-app--workflow2_docsplitter/sam-app 76

Download: SVG DOT (open online Graphviz editor)

Open 3D force graph...

Show more details on duplication between components...
Longest Duplicates
The list of 10 longest duplicates.
See data for all 10 duplicates...
Size#FoldersFilesLinesCode
14 x 2 workflow1_endpointbuilder/sam-app
workflow2_docsplitter/sam-app
template.yaml
template.yaml
138:151 (7%)
94:107 (13%)
view
11 x 2 workflow1_endpointbuilder/sam-app
workflow1_endpointbuilder/sam-app
template.yaml
template.yaml
141:151 (6%)
173:183 (6%)
view
11 x 2 workflow1_endpointbuilder/sam-app
workflow2_docsplitter/sam-app
template.yaml
template.yaml
173:183 (6%)
97:107 (10%)
view
11 x 2 workflow2_docsplitter/sa...ns/docsplitter_function
workflow3_local
index.py
local_docsplitter.py
23:40 (12%)
20:37 (13%)
view
8 x 2 workflow1_endpointbuilder/sam-app
workflow2_docsplitter/sam-app
template.yaml
template.yaml
129:136 (4%)
86:93 (7%)
view
7 x 2 workflow1_endpointbuilder/sam-app
workflow2_docsplitter/sam-app
template.yaml
template.yaml
162:168 (3%)
86:92 (6%)
view
7 x 2 workflow1_endpointbuilder/sam-app
workflow1_endpointbuilder/sam-app
template.yaml
template.yaml
129:135 (3%)
162:168 (3%)
view
7 x 2 workflow1_endpointbuilder/sam-app
workflow2_docsplitter/sam-app
template.yaml
template.yaml
49:55 (3%)
28:34 (6%)
view
7 x 2 workflow2_docsplitter/sa...ns/docsplitter_function
workflow2_docsplitter/sa...ns/docsplitter_function
index.py
index.py
99:105 (7%)
138:144 (7%)
view
6 x 2 workflow2_docsplitter/sa...ns/docsplitter_function
workflow3_local
index.py
local_docsplitter.py
88:94 (6%)
91:97 (7%)
view
Duplicated Units
The list of top 1 duplicated units.
See data for all 1 unit duplicate
Size#FoldersFilesLinesCode
7 x 2 workflow2_docsplitter/sa...ns/docsplitter_function
workflow3_local
index.py
local_docsplitter.py
0:0 
0:0 
view