aws-solutions / improving-forecast-accuracy-with-machine-learning
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:
    • 9,031 cleaned lines of cleaned code (without empty lines, comments, and frequently duplicated constructs such as imports)
    • 1,319 duplicated lines
  • 130 duplicates
system14% (1,319 lines)
Duplication per Extension
py11% (1,007 lines)
yaml71% (312 lines)
Duplication per Component (primary)
infrastructure/forecast15% (292 lines)
cdk_solution_helper_py/helpers_cdk10% (253 lines)
forecast-shared/shared9% (248 lines)
glue/jobs11% (100 lines)
synthetic17% (94 lines)
example/2-overrides96% (82 lines)
example/3-different-algorithm97% (82 lines)
cdk_solution_helper_py/helpers_common40% (64 lines)
example/5-taxi26% (27 lines)
example/1-defaults100% (27 lines)
forecast-shared65% (15 lines)
infrastructure28% (15 lines)
lambdas/createpredictor56% (14 lines)
lambdas/createforecast22% (6 lines)
notebook0% (0 lines)
lambdas/createquicksightanalysis0% (0 lines)
lambdas0% (0 lines)
lambdas/sns0% (0 lines)
lambdas/notification0% (0 lines)
lambdas/createdatasetimportjob0% (0 lines)
lambdas/creategluetablename0% (0 lines)
lambdas/createdatasetgroup0% (0 lines)
infrastructure/quicksight0% (0 lines)
glue0% (0 lines)

Duplication Between Components (50+ lines)

G example/2-overrides example/2-overrides example/3-different-algorithm example/3-different-algorithm example/2-overrides--example/3-different-algorithm 146 example/5-taxi example/5-taxi example/2-overrides--example/5-taxi 59 example/3-different-algorithm--example/5-taxi 77 example/1-defaults example/1-defaults example/1-defaults--example/2-overrides 77 example/1-defaults--example/3-different-algorithm 59 cdk_solution_helper_py/helpers_cdk cdk_solution_helper_py/helpers_cdk cdk_solution_helper_py/helpers_common cdk_solution_helper_py/helpers_common cdk_solution_helper_py/helpers_cdk--cdk_solution_helper_py/helpers_common 66 infrastructure/forecast infrastructure/forecast cdk_solution_helper_py/helpers_cdk--infrastructure/forecast 66 forecast-shared/shared forecast-shared/shared cdk_solution_helper_py/helpers_common--forecast-shared/shared 60

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 130 duplicates...
Size#FoldersFilesLinesCode
41 x 2 source/infrastructure/forecast/etl
source/infrastructure/forecast/sagemaker
policies.py
policies.py
49:90 (31%)
49:90 (49%)
view
39 x 2 source/example/2-overrides
source/example/3-different-algorithm
forecast-defaults.yaml
forecast-defaults.yaml
33:73 (45%)
32:72 (46%)
view
32 x 2 source/infrastructure/fo...st/aws_lambda/functions
source/infrastructure/forecast/sns
sns.py
notifications.py
47:86 (58%)
52:91 (54%)
view
27 x 2 source/example/3-different-algorithm
source/example/5-taxi
forecast-defaults.yaml
forecast-defaults.yaml
1:30 (32%)
81:110 (26%)
view
27 x 2 source/example/1-defaults
source/example/2-overrides
forecast-defaults.yaml
forecast-defaults.yaml
1:30 (100%)
1:30 (31%)
view
22 x 2 source/cdk_solution_help...ons/cdk/aws_lambda/java
source/cdk_solution_help...s/cdk/aws_lambda/python
function.py
function.py
91:117 (28%)
129:155 (22%)
view
19 x 2 source/glue/jobs
source/glue/jobs
forecast_etl.py
forecast_etl.py
991:1020 (2%)
1044:1070 (2%)
view
19 x 2 source/cdk_solution_help...mmon/aws_solutions/core
source/forecast-shared/shared
logging.py
logging.py
17:58 (100%)
17:56 (100%)
view
18 x 2 source/example/1-defaults
source/example/5-taxi
forecast-defaults.yaml
forecast-defaults.yaml
1:20 (66%)
81:100 (17%)
view
18 x 2 source/example/2-overrides
source/example/5-taxi
forecast-defaults.yaml
forecast-defaults.yaml
1:20 (21%)
81:100 (17%)
view
18 x 2 source/example/2-overrides
source/example/3-different-algorithm
forecast-defaults.yaml
forecast-defaults.yaml
1:20 (21%)
1:20 (21%)
view
18 x 2 source/example/1-defaults
source/example/3-different-algorithm
forecast-defaults.yaml
forecast-defaults.yaml
1:20 (66%)
1:20 (21%)
view
17 x 2 source/forecast-shared/s...t_custom_resources/util
source/forecast-shared/s...t_custom_resources/util
template.py
template.py
58:76 (12%)
88:106 (12%)
view
17 x 2 source/cdk_solution_help...resources/resource_hash
source/cdk_solution_help...resources/resource_name
hash.py
name.py
49:66 (30%)
52:69 (27%)
view
16 x 2 source/example/2-overrides
source/example/3-different-algorithm
forecast-defaults.yaml
forecast-defaults.yaml
77:93 (18%)
75:91 (19%)
view
16 x 2 source/cdk_solution_helper_py/helpers_cdk
source/cdk_solution_helper_py/helpers_common
setup.py
setup.py
63:78 (31%)
47:62 (43%)
view
15 x 2 source/example/2-overrides
source/example/3-different-algorithm
forecast-defaults.yaml
forecast-defaults.yaml
34:49 (17%)
2:17 (17%)
view
15 x 2 source/example/3-different-algorithm
source/example/5-taxi
forecast-defaults.yaml
forecast-defaults.yaml
33:48 (17%)
82:97 (14%)
view
15 x 2 source/example/2-overrides
source/example/5-taxi
forecast-defaults.yaml
forecast-defaults.yaml
34:49 (17%)
82:97 (14%)
view
15 x 2 source/example/1-defaults
source/example/2-overrides
forecast-defaults.yaml
forecast-defaults.yaml
2:17 (55%)
34:49 (17%)
view
Duplicated Units
The list of top 7 duplicated units.
See data for all 7 unit duplicates...
Size#FoldersFilesLinesCode
30 x 2 source/infrastructure/forecast/etl
source/infrastructure/forecast/sagemaker
policies.py
policies.py
0:0 
0:0 
view
26 x 2 source/cdk_solution_help...ons/cdk/aws_lambda/java
source/cdk_solution_help...s/cdk/aws_lambda/python
function.py
function.py
0:0 
0:0 
view
15 x 2 source/infrastructure/forecast/sns
source/infrastructure/fo...st/aws_lambda/functions
notifications.py
sns.py
0:0 
0:0 
view
11 x 2 source/infrastructure/forecast/sns
source/infrastructure/fo...st/aws_lambda/functions
notifications.py
sns.py
0:0 
0:0 
view
10 x 2 source/cdk_solution_helper_py/helpers_cdk
source/cdk_solution_helper_py/helpers_common
setup.py
setup.py
0:0 
0:0 
view
6 x 2 source/cdk_solution_help...sh/src/custom_resources
source/cdk_solution_help...me/src/custom_resources
hash.py
name.py
0:0 
0:0 
view
9 x 2 source/cdk_solution_help...mmon/aws_solutions/core
source/forecast-shared/shared
logging.py
logging.py
0:0 
0:0 
view