aws-samples / realtime-web-analytics-workshop
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
  • 92% duplication:
    • 6,222 cleaned lines of cleaned code (without empty lines, comments, and frequently duplicated constructs such as imports)
    • 5,740 duplicated lines
  • 431 duplicates
system92% (5,740 lines)
Duplication per Extension
yaml97% (5,661 lines)
py33% (79 lines)
Duplication per Component (primary)
module-395% (2,786 lines)
module-2100% (2,283 lines)
module-190% (615 lines)
publishfunction32% (40 lines)
module-480% (16 lines)
wasa0% (0 lines)

Duplication Between Components (50+ lines)

G module-2 module-2 module-3 module-3 module-2--module-3 4612 publishfunction publishfunction module-3--publishfunction 120 module-1 module-1 module-1--module-2 1845 module-1--module-3 1875

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 431 duplicates...
Size#FoldersFilesLinesCode
1152 x 2 module-3
module-3
3-publish-metrics-completed.yaml
3-publish-metrics-update.yaml
4:1234 (89%)
4:1235 (91%)
view
1039 x 2 module-2
module-3
2-kinesis-analytics-module-completed....
3-publish-metrics-update.yaml
4:1104 (90%)
4:1105 (82%)
view
1039 x 2 module-2
module-3
2-kinesis-analytics-module-completed....
3-publish-metrics-completed.yaml
4:1104 (90%)
4:1104 (80%)
view
651 x 2 module-2
module-2
2-kinesis-analytics-module-completed....
2-kinesis-analytics-module-update.yaml
1:691 (56%)
1:690 (57%)
view
649 x 2 module-2
module-3
2-kinesis-analytics-module-update.yaml
3-publish-metrics-completed.yaml
4:690 (57%)
4:691 (50%)
view
649 x 2 module-2
module-3
2-kinesis-analytics-module-update.yaml
3-publish-metrics-update.yaml
4:690 (57%)
4:691 (51%)
view
387 x 2 module-1
module-3
1-frontend-module-finish.yaml
3-publish-metrics-completed.yaml
223:628 (64%)
239:645 (30%)
view
387 x 2 module-1
module-3
1-frontend-module-finish.yaml
3-publish-metrics-update.yaml
223:628 (64%)
239:645 (30%)
view
387 x 2 module-1
module-2
1-frontend-module-finish.yaml
2-kinesis-analytics-module-update.yaml
223:628 (64%)
239:644 (34%)
view
387 x 2 module-1
module-2
1-frontend-module-finish.yaml
2-kinesis-analytics-module-completed....
223:628 (64%)
239:645 (33%)
view
293 x 2 module-2
module-2
2-kinesis-analytics-module-completed....
2-kinesis-analytics-module-update.yaml
910:1218 (25%)
891:1199 (25%)
view
189 x 2 module-2
module-3
2-kinesis-analytics-module-update.yaml
3-publish-metrics-completed.yaml
692:888 (16%)
699:895 (14%)
view
189 x 2 module-2
module-2
2-kinesis-analytics-module-completed....
2-kinesis-analytics-module-update.yaml
699:895 (16%)
692:888 (16%)
view
189 x 2 module-2
module-3
2-kinesis-analytics-module-update.yaml
3-publish-metrics-update.yaml
692:888 (16%)
699:895 (14%)
view
184 x 2 module-2
module-3
2-kinesis-analytics-module-update.yaml
3-publish-metrics-update.yaml
891:1085 (16%)
910:1105 (14%)
view
184 x 2 module-2
module-3
2-kinesis-analytics-module-update.yaml
3-publish-metrics-completed.yaml
891:1085 (16%)
910:1104 (14%)
view
127 x 2 module-1
module-2
1-frontend-module-finish.yaml
2-kinesis-analytics-module-update.yaml
4:132 (21%)
4:132 (11%)
view
127 x 2 module-1
module-3
1-frontend-module-finish.yaml
3-publish-metrics-completed.yaml
4:132 (21%)
4:132 (9%)
view
127 x 2 module-1
module-2
1-frontend-module-finish.yaml
2-kinesis-analytics-module-completed....
4:132 (21%)
4:132 (11%)
view
127 x 2 module-1
module-3
1-frontend-module-finish.yaml
3-publish-metrics-update.yaml
4:132 (21%)
4:132 (10%)
view