aws / aws-sam-cli-app-templates
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
  • 87% duplication:
    • 9,550 cleaned lines of cleaned code (without empty lines, comments, and frequently duplicated constructs such as imports)
    • 8,389 duplicated lines
  • 7,885 duplicates
system87% (8,389 lines)
Duplication per Extension
yaml94% (4,319 lines)
py85% (1,656 lines)
java99% (1,618 lines)
yml67% (299 lines)
js93% (274 lines)
cs33% (85 lines)
go90% (82 lines)
rb68% (32 lines)
ts18% (24 lines)
Duplication per Component (primary)
java8.al2100% (928 lines)
java1198% (900 lines)
java899% (840 lines)
python3.982% (722 lines)
python3.893% (680 lines)
nodejs12.x82% (672 lines)
nodejs14.x95% (589 lines)
python3.790% (507 lines)
python3.690% (507 lines)
python3.8-image90% (316 lines)
dotnetcore3.144% (280 lines)
python3.9-image81% (270 lines)
go1.x89% (176 lines)
ruby2.790% (144 lines)
java11-image97% (120 lines)
java8.al2-image97% (120 lines)
java8-image100% (108 lines)
buildspecs49% (101 lines)
dotnetcore3.1-image96% (60 lines)
go1.x-image90% (60 lines)
dotnet5.0-image96% (53 lines)
nodejs12.x-image96% (52 lines)
nodejs14.x-image96% (52 lines)
ruby2.7-image100% (48 lines)
python3.6-image87% (42 lines)
python3.7-image87% (42 lines)
ROOT0% (0 lines)

Duplication Between Components (50+ lines)

G java11 java11 java8.al2 java8.al2 java11--java8.al2 1712 java8 java8 java11--java8 1652 python3.8 python3.8 java11--python3.8 485 python3.9 python3.9 java11--python3.9 485 nodejs12.x nodejs12.x java11--nodejs12.x 406 nodejs14.x nodejs14.x java11--nodejs14.x 394 python3.6 python3.6 java11--python3.6 351 python3.7 python3.7 java11--python3.7 351 ruby2.7 ruby2.7 java11--ruby2.7 346 java8.al2-image java8.al2-image java11--java8.al2-image 343 java8-image java8-image java11--java8-image 259 java8.al2--java8 1580 java8.al2--python3.8 485 java8.al2--python3.9 485 java8.al2--nodejs12.x 406 java8.al2--nodejs14.x 394 java8.al2--python3.6 351 java8.al2--python3.7 351 java8.al2--ruby2.7 346 java8--python3.8 365 java8--python3.9 365 java8--python3.6 351 java8--python3.7 351 python3.8--python3.9 1350 python3.8--ruby2.7 298 python3.9--ruby2.7 298 nodejs12.x--python3.8 342 nodejs12.x--python3.9 342 nodejs12.x--nodejs14.x 1181 nodejs12.x--ruby2.7 278 nodejs14.x--python3.8 330 nodejs14.x--python3.9 330 nodejs14.x--ruby2.7 266 python3.6--python3.8 1022 python3.6--python3.9 1022 python3.6--python3.7 1014 python3.7--python3.8 1022 python3.7--python3.9 1022 python3.8-image python3.8-image python3.9-image python3.9-image python3.8-image--python3.9-image 532 dotnetcore3.1 dotnetcore3.1 dotnetcore3.1--java11 340 dotnetcore3.1--java8.al2 340 dotnetcore3.1--nodejs12.x 410 dotnetcore3.1--nodejs14.x 386 java11-image java11-image java11-image--java11 343 java11-image--java8.al2 259 java11-image--java8 259 java8.al2-image--java8 259 go1.x go1.x go1.x--java11 298 go1.x--java8.al2 298 java8-image--java8 259

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 7,885 duplicates...
Size#FoldersFilesLinesCode
148 x 2 python3.6/cookiecutter-a..._function/model/aws/ec2
python3.9/cookiecutter-a..._function/model/aws/ec2
aws_event.py
aws_event.py
9:213 (100%)
9:213 (100%)
view
148 x 2 python3.8/cookiecutter-a..._function/model/aws/ec2
python3.9/cookiecutter-a..._function/model/aws/ec2
aws_event.py
aws_event.py
9:213 (100%)
9:213 (100%)
view
148 x 2 python3.7/cookiecutter-a..._function/model/aws/ec2
python3.9/cookiecutter-a..._function/model/aws/ec2
aws_event.py
aws_event.py
9:213 (100%)
9:213 (100%)
view
148 x 2 python3.7/cookiecutter-a..._function/model/aws/ec2
python3.8/cookiecutter-a..._function/model/aws/ec2
aws_event.py
aws_event.py
9:213 (100%)
9:213 (100%)
view
148 x 2 python3.6/cookiecutter-a..._function/model/aws/ec2
python3.8/cookiecutter-a..._function/model/aws/ec2
aws_event.py
aws_event.py
9:213 (100%)
9:213 (100%)
view
148 x 2 python3.6/cookiecutter-a..._function/model/aws/ec2
python3.7/cookiecutter-a..._function/model/aws/ec2
aws_event.py
aws_event.py
9:213 (100%)
9:213 (100%)
view
120 x 2 java11/cookiecutter-aws-...main/java/model/aws.ec2
java8.al2/cookiecutter-a...main/java/model/aws.ec2
AWSEvent.java
AWSEvent.java
9:203 (100%)
9:203 (100%)
view
120 x 2 java8.al2/cookiecutter-a...main/java/model/aws.ec2
java8/cookiecutter-aws-s...main/java/model/aws.ec2
AWSEvent.java
AWSEvent.java
9:203 (100%)
9:203 (100%)
view
120 x 2 java11/cookiecutter-aws-...main/java/model/aws.ec2
java8/cookiecutter-aws-s...main/java/model/aws.ec2
AWSEvent.java
AWSEvent.java
9:203 (100%)
9:203 (100%)
view
120 x 2 java11/cookiecutter-aws-...main/java/model/aws.ec2
java8/cookiecutter-aws-s...main/java/model/aws.ec2
AWSEvent.java
AWSEvent.java
9:203 (100%)
9:203 (100%)
view
120 x 2 java8.al2/cookiecutter-a...main/java/model/aws.ec2
java8/cookiecutter-aws-s...main/java/model/aws.ec2
AWSEvent.java
AWSEvent.java
9:203 (100%)
9:203 (100%)
view
120 x 2 java11/cookiecutter-aws-...main/java/model/aws.ec2
java8.al2/cookiecutter-a...main/java/model/aws.ec2
AWSEvent.java
AWSEvent.java
9:203 (100%)
9:203 (100%)
view
120 x 2 java11/cookiecutter-aws-...main/java/model/aws.ec2
java8.al2/cookiecutter-a...main/java/model/aws.ec2
AWSEvent.java
AWSEvent.java
9:203 (100%)
9:203 (100%)
view
120 x 2 java11/cookiecutter-aws-...main/java/model/aws.ec2
java8/cookiecutter-aws-s...main/java/model/aws.ec2
AWSEvent.java
AWSEvent.java
9:203 (100%)
9:203 (100%)
view
120 x 2 java11/cookiecutter-aws-...main/java/model/aws.ec2
java8.al2/cookiecutter-a...main/java/model/aws.ec2
AWSEvent.java
AWSEvent.java
9:203 (100%)
9:203 (100%)
view
120 x 2 java11/cookiecutter-aws-...main/java/model/aws.ec2
java8/cookiecutter-aws-s...main/java/model/aws.ec2
AWSEvent.java
AWSEvent.java
9:203 (100%)
9:203 (100%)
view
120 x 2 java11/cookiecutter-aws-...main/java/model/aws.ec2
java11/cookiecutter-aws-...main/java/model/aws.ec2
AWSEvent.java
AWSEvent.java
9:203 (100%)
9:203 (100%)
view
120 x 2 java8.al2/cookiecutter-a...main/java/model/aws.ec2
java8/cookiecutter-aws-s...main/java/model/aws.ec2
AWSEvent.java
AWSEvent.java
9:203 (100%)
9:203 (100%)
view
120 x 2 java8.al2/cookiecutter-a...main/java/model/aws.ec2
java8/cookiecutter-aws-s...main/java/model/aws.ec2
AWSEvent.java
AWSEvent.java
9:203 (100%)
9:203 (100%)
view
120 x 2 java8.al2/cookiecutter-a...main/java/model/aws.ec2
java8.al2/cookiecutter-a...main/java/model/aws.ec2
AWSEvent.java
AWSEvent.java
9:203 (100%)
9:203 (100%)
view
Duplicated Units
The list of top 20 duplicated units.
See data for all 36 unit duplicates...
Size#FoldersFilesLinesCode
25 x 4 python3.7/cookiecutter-a..._function/model/aws/ec2
python3.8/cookiecutter-a..._function/model/aws/ec2
python3.6/cookiecutter-a..._function/model/aws/ec2
python3.9/cookiecutter-a..._function/model/aws/ec2
marshaller.py
marshaller.py
marshaller.py
marshaller.py
0:0 
0:0 
0:0 
0:0 
view
23 x 4 python3.7/cookiecutter-a..._function/model/aws/ec2
python3.8/cookiecutter-a..._function/model/aws/ec2
python3.6/cookiecutter-a..._function/model/aws/ec2
python3.9/cookiecutter-a..._function/model/aws/ec2
marshaller.py
marshaller.py
marshaller.py
marshaller.py
0:0 
0:0 
0:0 
0:0 
view
22 x 4 python3.7/cookiecutter-a..._function/model/aws/ec2
python3.8/cookiecutter-a..._function/model/aws/ec2
python3.6/cookiecutter-a..._function/model/aws/ec2
python3.9/cookiecutter-a..._function/model/aws/ec2
aws_event.py
aws_event.py
aws_event.py
aws_event.py
0:0 
0:0 
0:0 
0:0 
view
22 x 4 python3.7/cookiecutter-a..._function/model/aws/ec2
python3.8/cookiecutter-a..._function/model/aws/ec2
python3.6/cookiecutter-a..._function/model/aws/ec2
python3.9/cookiecutter-a..._function/model/aws/ec2
ec2_instance_state_change_notificatio...
ec2_instance_state_change_notificatio...
ec2_instance_state_change_notificatio...
ec2_instance_state_change_notificatio...
0:0 
0:0 
0:0 
0:0 
view
20 x 4 python3.7/cookiecutter-a..._function/model/aws/ec2
python3.8/cookiecutter-a..._function/model/aws/ec2
python3.6/cookiecutter-a..._function/model/aws/ec2
python3.9/cookiecutter-a..._function/model/aws/ec2
marshaller.py
marshaller.py
marshaller.py
marshaller.py
0:0 
0:0 
0:0 
0:0 
view
19 x 2 go1.x/cookiecutter-aws-s...ject_name}}/hello-world
go1.x-image/cookiecutter...ject_name}}/hello-world
main.go
main.go
24:47 
24:47 
view
19 x 4 python3.7/cookiecutter-a..._function/model/aws/ec2
python3.8/cookiecutter-a..._function/model/aws/ec2
python3.6/cookiecutter-a..._function/model/aws/ec2
python3.9/cookiecutter-a..._function/model/aws/ec2
aws_event.py
aws_event.py
aws_event.py
aws_event.py
0:0 
0:0 
0:0 
0:0 
view
17 x 10 java11-image/cookiecutte...rc/main/java/helloworld
java11-image/cookiecutte...rc/main/java/helloworld
java8/cookiecutter-aws-s...rc/main/java/helloworld
java8/cookiecutter-aws-s...rc/main/java/helloworld
java11/cookiecutter-aws-...rc/main/java/helloworld
java11/cookiecutter-aws-...rc/main/java/helloworld
java8-image/cookiecutter...rc/main/java/helloworld
java8-image/cookiecutter...rc/main/java/helloworld
java8.al2-image/cookiecu...rc/main/java/helloworld
java8.al2-image/cookiecu...rc/main/java/helloworld
App.java
App.java
App.java
App.java
App.java
App.java
App.java
App.java
App.java
App.java
21:40 
21:40 
21:40 
21:40 
21:40 
21:40 
21:40 
21:40 
21:40 
21:40 
view
17 x 6 java8/cookiecutter-aws-s...main/java/model/aws.ec2
java8/cookiecutter-aws-s...main/java/model/aws.ec2
java11/cookiecutter-aws-...main/java/model/aws.ec2
java11/cookiecutter-aws-...main/java/model/aws.ec2
java8.al2/cookiecutter-a...main/java/model/aws.ec2
java8.al2/cookiecutter-a...main/java/model/aws.ec2
AWSEvent.java
AWSEvent.java
AWSEvent.java
AWSEvent.java
AWSEvent.java
AWSEvent.java
156:173 
156:173 
156:173 
156:173 
156:173 
156:173 
view
20 x 2 python3.8/cookiecutter-a...roject_name}}/hello_efs
python3.9/cookiecutter-a...roject_name}}/hello_efs
app.py
app.py
0:0 
0:0 
view
14 x 6 java8/cookiecutter-aws-s...main/java/model/aws.ec2
java8/cookiecutter-aws-s...main/java/model/aws.ec2
java11/cookiecutter-aws-...main/java/model/aws.ec2
java11/cookiecutter-aws-...main/java/model/aws.ec2
java8.al2/cookiecutter-a...main/java/model/aws.ec2
java8.al2/cookiecutter-a...main/java/model/aws.ec2
AWSEvent.java
AWSEvent.java
AWSEvent.java
AWSEvent.java
AWSEvent.java
AWSEvent.java
182:197 
182:197 
182:197 
182:197 
182:197 
182:197 
view
14 x 3 dotnet5.0-image/cookiecu...t_name}}/src/HelloWorld
dotnetcore3.1/cookiecutt...t_name}}/src/HelloWorld
dotnetcore3.1-image/cook...t_name}}/src/HelloWorld
Function.cs
Function.cs
Function.cs
30:46 
30:46 
30:46 
view
13 x 2 python3.9-image/cookiecu...tter.project_name}}/app
python3.8-image/cookiecu...tter.project_name}}/app
app.py
app.py
0:0 
0:0 
view
13 x 2 python3.9-image/cookiecu...tter.project_name}}/app
python3.8-image/cookiecu...tter.project_name}}/app
app.py
app.py
0:0 
0:0 
view
13 x 2 python3.9-image/cookiecu...tter.project_name}}/app
python3.8-image/cookiecu...tter.project_name}}/app
app.py
app.py
0:0 
0:0 
view
27 x 4 python3.7/cookiecutter-a.../functions/stock_seller
python3.8/cookiecutter-a.../functions/stock_seller
python3.6/cookiecutter-a.../functions/stock_seller
python3.9/cookiecutter-a.../functions/stock_seller
app.py
app.py
app.py
app.py
0:0 
0:0 
0:0 
0:0 
view
27 x 4 python3.7/cookiecutter-a...}/functions/stock_buyer
python3.8/cookiecutter-a...}/functions/stock_buyer
python3.6/cookiecutter-a...}/functions/stock_buyer
python3.9/cookiecutter-a...}/functions/stock_buyer
app.py
app.py
app.py
app.py
0:0 
0:0 
0:0 
0:0 
view
11 x 2 java8.al2/cookiecutter-a...rc/main/java/helloworld
java8.al2/cookiecutter-a...rc/main/java/helloworld
App.java
App.java
19:30 
19:30 
view
10 x 6 java8/cookiecutter-aws-s...main/java/model/aws.ec2
java8/cookiecutter-aws-s...main/java/model/aws.ec2
java11/cookiecutter-aws-...main/java/model/aws.ec2
java11/cookiecutter-aws-...main/java/model/aws.ec2
java8.al2/cookiecutter-a...main/java/model/aws.ec2
java8.al2/cookiecutter-a...main/java/model/aws.ec2
EC2InstanceStateChangeNotification.java
EC2InstanceStateChangeNotification.java
EC2InstanceStateChangeNotification.java
EC2InstanceStateChangeNotification.java
EC2InstanceStateChangeNotification.java
EC2InstanceStateChangeNotification.java
46:56 
46:56 
46:56 
46:56 
46:56 
46:56 
view
10 x 2 dotnetcore3.1/cookiecutt...}/functions/StockSeller
dotnetcore3.1/cookiecutt...}}/functions/StockBuyer
Function.cs
Function.cs
28:56 
28:56 
view