aws-samples / aws-bootstrap-kit-examples
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
  • 25% duplication:
    • 4,079 cleaned lines of cleaned code (without empty lines, comments, and frequently duplicated constructs such as imports)
    • 1,049 duplicated lines
  • 91 duplicates
system25% (1,049 lines)
Duplication per Extension
ts28% (542 lines)
yml24% (184 lines)
js33% (167 lines)
tsx16% (76 lines)
html83% (40 lines)
css39% (24 lines)
php7% (16 lines)
Duplication per Component (primary)
1-SDLC-organization/lib22% (184 lines)
3-landing-page-cicd/cdk67% (126 lines)
5-unicornPics/webapp27% (119 lines)
4-landing-page-with-feedback-api/infrastructure32% (112 lines)
5-unicornPics/mobileapp17% (101 lines)
2-landing-page/cdk97% (98 lines)
per-stage-dns/lib74% (93 lines)
5-unicornPics/backend13% (76 lines)
4-containerized-service/cdk16% (40 lines)
4-landing-page-with-feedback-api/ui18% (34 lines)
5-unicornPics/loadtesting8% (24 lines)
4-containerized-service/php-fpm7% (16 lines)
2-landing-page/www100% (7 lines)
3-landing-page-cicd/www100% (7 lines)
per-stage-dns100% (6 lines)
1-SDLC-organization100% (6 lines)

Duplication Between Components (50+ lines)

G 2-landing-page/cdk 2-landing-page/cdk 3-landing-page-cicd/cdk 3-landing-page-cicd/cdk 2-landing-page/cdk--3-landing-page-cicd/cdk 196 4-landing-page-with-feedback-api/infrastructure 4-landing-page-with-feedback-api/infrastructure 3-landing-page-cicd/cdk--4-landing-page-with-feedback-api/infrastructure 100 per-stage-dns/lib per-stage-dns/lib 3-landing-page-cicd/cdk--per-stage-dns/lib 54 4-landing-page-with-feedback-api/infrastructure--per-stage-dns/lib 186 4-landing-page-with-feedback-api/ui 4-landing-page-with-feedback-api/ui 5-unicornPics/webapp 5-unicornPics/webapp 4-landing-page-with-feedback-api/ui--5-unicornPics/webapp 68 5-unicornPics/mobileapp 5-unicornPics/mobileapp 5-unicornPics/mobileapp--5-unicornPics/webapp 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 91 duplicates...
Size#FoldersFilesLinesCode
68 x 2 source/2-landing-page/cdk/lib
source/3-landing-page-cicd/cdk/lib
landing-page-stack.ts
landing-page-stack.ts
43:130 (71%)
47:134 (70%)
view
40 x 2 source/4-landing-page-wi...-api/infrastructure/lib
source/per-stage-dns/lib
cicd-pipeline-stack.ts
cicd-pipeline-stack.ts
49:97 (40%)
49:97 (40%)
view
33 x 2 source/1-SDLC-organization/lib
source/1-SDLC-organization/lib
cdk-bootstrap-template.yml
cdk-bootstrap-template.yml
634:672 (4%)
753:791 (4%)
view
24 x 2 source/4-landing-page-wi...-api/infrastructure/lib
source/per-stage-dns/lib
cicd-pipeline-stack.ts
cicd-pipeline-stack.ts
101:130 (24%)
101:130 (24%)
view
20 x 2 source/3-landing-page-cicd/cdk/lib
source/4-landing-page-wi...-api/infrastructure/lib
cicd-stack.ts
cicd-pipeline-stack.ts
66:89 (26%)
75:98 (20%)
view
19 x 2 source/3-landing-page-cicd/cdk/lib
source/per-stage-dns/lib
cicd-stack.ts
cicd-pipeline-stack.ts
66:88 (25%)
75:97 (19%)
view
18 x 2 source/1-SDLC-organization/lib
source/1-SDLC-organization/lib
cdk-bootstrap-template.yml
cdk-bootstrap-template.yml
227:244 (2%)
250:267 (2%)
view
17 x 2 source/1-SDLC-organization/lib
source/1-SDLC-organization/lib
cdk-bootstrap-template.yml
cdk-bootstrap-template.yml
227:243 (2%)
376:392 (2%)
view
17 x 2 source/2-landing-page/cdk/lib
source/3-landing-page-cicd/cdk/lib
landing-page-stack.ts
landing-page-stack.ts
19:40 (17%)
23:44 (17%)
view
17 x 2 source/1-SDLC-organization/lib
source/1-SDLC-organization/lib
cdk-bootstrap-template.yml
cdk-bootstrap-template.yml
250:266 (2%)
376:392 (2%)
view
15 x 2 source/5-unicornPics/backend/lib/postsService
source/5-unicornPics/backend/lib/postsService
posts-service.dislikePost.ts
posts-service.likePost.ts
1:22 (40%)
1:22 (40%)
view
14 x 2 source/2-landing-page/cdk/lib
source/3-landing-page-cicd/cdk/lib
landing-page-stack.ts
landing-page-stack.ts
109:125 (14%)
78:94 (14%)
view
14 x 2 source/3-landing-page-cicd/cdk/lib
source/3-landing-page-cicd/cdk/lib
landing-page-stack.ts
landing-page-stack.ts
78:94 (14%)
113:129 (14%)
view
14 x 2 source/2-landing-page/cdk/lib
source/3-landing-page-cicd/cdk/lib
landing-page-stack.ts
landing-page-stack.ts
74:90 (14%)
113:129 (14%)
view
14 x 2 source/2-landing-page/cdk/lib
source/2-landing-page/cdk/lib
landing-page-stack.ts
landing-page-stack.ts
74:90 (14%)
109:125 (14%)
view
14 x 2 source/5-unicornPics/mobileapp/pages
source/5-unicornPics/mobileapp/pages
Home.js
Profile.js
86:100 (14%)
55:69 (33%)
view
13 x 2 source/5-unicornPics/webapp/src/pages
source/5-unicornPics/webapp/src/pages
Home.tsx
Profile.tsx
92:105 (10%)
60:73 (16%)
view
13 x 2 source/4-landing-page-with-feedback-api/ui/public
source/5-unicornPics/webapp/public
index.html
index.html
1:17 (76%)
1:17 (76%)
view
13 x 2 source/5-unicornPics/mobileapp/pages
source/5-unicornPics/webapp/src/pages
Profile.js
Profile.tsx
29:48 (30%)
27:46 (16%)
view
12 x 2 source/4-landing-page-with-feedback-api/ui/src
source/5-unicornPics/webapp/src
index.css
index.css
1:13 (100%)
1:13 (100%)
view
Duplicated Units
The list of top 2 duplicated units.
See data for all 2 unit duplicates...
Size#FoldersFilesLinesCode
9 x 2 source/5-unicornPics/webapp/src
source/5-unicornPics/webapp/src
Api.tsx
Api.tsx
62:73 
75:86 
view
8 x 2 source/5-unicornPics/mobileapp
source/5-unicornPics/mobileapp
Api.js
Api.js
38:48 
50:60 
view