aws-samples / amazon-ivs-multiple-players-android-demo
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
  • 55% duplication:
    • 819 cleaned lines of cleaned code (without empty lines, comments, and frequently duplicated constructs such as imports)
    • 452 duplicated lines
  • 22 duplicates
system55% (452 lines)
Duplication per Extension
kt55% (452 lines)
Duplication per Component (primary)
players/ui/thirdlayout76% (151 lines)
players/ui/secondlayout80% (145 lines)
players/ui/firstlayout66% (134 lines)
players/common12% (22 lines)
players0% (0 lines)
players/ui0% (0 lines)
players/ui/models0% (0 lines)

Duplication Between Components (50+ lines)

G players/ui/secondlayout players/ui/secondlayout players/ui/thirdlayout players/ui/thirdlayout players/ui/secondlayout--players/ui/thirdlayout 290 players/ui/firstlayout players/ui/firstlayout players/ui/firstlayout--players/ui/secondlayout 244 players/ui/firstlayout--players/ui/thirdlayout 268

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 22 duplicates...
Size#FoldersFilesLinesCode
58 x 2 app/src/main/java/com/am...players/ui/secondlayout
app/src/main/java/com/am.../players/ui/thirdlayout
SecondLayoutViewModel.kt
ThirdLayoutViewModel.kt
33:120 (78%)
33:120 (78%)
view
36 x 2 app/src/main/java/com/am.../players/ui/firstlayout
app/src/main/java/com/am.../players/ui/thirdlayout
FirstLayoutViewModel.kt
ThirdLayoutViewModel.kt
33:82 (48%)
33:82 (48%)
view
36 x 2 app/src/main/java/com/am.../players/ui/firstlayout
app/src/main/java/com/am...players/ui/secondlayout
FirstLayoutViewModel.kt
SecondLayoutViewModel.kt
33:82 (48%)
33:82 (48%)
view
27 x 2 app/src/main/java/com/am...players/ui/secondlayout
app/src/main/java/com/am.../players/ui/thirdlayout
SecondLayoutFragment.kt
ThirdLayoutFragment.kt
95:137 (25%)
94:136 (21%)
view
23 x 2 app/src/main/java/com/am.../players/ui/firstlayout
app/src/main/java/com/am...players/ui/secondlayout
FirstLayoutFragment.kt
SecondLayoutFragment.kt
99:135 (18%)
95:131 (21%)
view
23 x 2 app/src/main/java/com/am.../players/ui/firstlayout
app/src/main/java/com/am.../players/ui/thirdlayout
FirstLayoutFragment.kt
ThirdLayoutFragment.kt
99:135 (18%)
94:130 (18%)
view
22 x 2 app/src/main/java/com/am...players/ui/secondlayout
app/src/main/java/com/am.../players/ui/thirdlayout
SecondLayoutFragment.kt
ThirdLayoutFragment.kt
49:90 (20%)
48:89 (17%)
view
22 x 2 app/src/main/java/com/am.../players/ui/firstlayout
app/src/main/java/com/am...players/ui/secondlayout
FirstLayoutViewModel.kt
SecondLayoutViewModel.kt
84:121 (29%)
83:120 (29%)
view
22 x 2 app/src/main/java/com/am.../players/ui/firstlayout
app/src/main/java/com/am.../players/ui/thirdlayout
FirstLayoutViewModel.kt
ThirdLayoutViewModel.kt
84:121 (29%)
83:120 (29%)
view
21 x 2 app/src/main/java/com/am.../players/ui/firstlayout
app/src/main/java/com/am.../players/ui/thirdlayout
FirstLayoutFragment.kt
ThirdLayoutFragment.kt
60:94 (16%)
55:89 (17%)
view
21 x 2 app/src/main/java/com/am.../players/ui/firstlayout
app/src/main/java/com/am...players/ui/secondlayout
FirstLayoutFragment.kt
SecondLayoutFragment.kt
60:94 (16%)
56:90 (19%)
view
13 x 2 app/src/main/java/com/am.../players/ui/firstlayout
app/src/main/java/com/am.../players/ui/thirdlayout
FirstLayoutViewModel.kt
ThirdLayoutViewModel.kt
17:31 (17%)
17:31 (17%)
view
13 x 2 app/src/main/java/com/am...players/ui/secondlayout
app/src/main/java/com/am.../players/ui/thirdlayout
SecondLayoutViewModel.kt
ThirdLayoutViewModel.kt
17:31 (17%)
17:31 (17%)
view
13 x 2 app/src/main/java/com/am.../players/ui/firstlayout
app/src/main/java/com/am...players/ui/secondlayout
FirstLayoutViewModel.kt
SecondLayoutViewModel.kt
17:31 (17%)
17:31 (17%)
view
12 x 2 app/src/main/java/com/am...players/ui/secondlayout
app/src/main/java/com/am.../players/ui/thirdlayout
SecondLayoutFragment.kt
ThirdLayoutFragment.kt
151:167 (11%)
154:170 (9%)
view
11 x 2 app/src/main/java/com/am...multiple/players/common
app/src/main/java/com/am...multiple/players/common
PlayerExtensions.kt
PlayerExtensions.kt
12:22 (18%)
53:63 (18%)
view
7 x 2 app/src/main/java/com/am.../players/ui/firstlayout
app/src/main/java/com/am...players/ui/secondlayout
FirstLayoutFragment.kt
SecondLayoutFragment.kt
36:45 (5%)
35:44 (6%)
view
7 x 2 app/src/main/java/com/am.../players/ui/firstlayout
app/src/main/java/com/am.../players/ui/thirdlayout
FirstLayoutFragment.kt
ThirdLayoutFragment.kt
36:45 (5%)
34:43 (5%)
view
7 x 2 app/src/main/java/com/am...players/ui/secondlayout
app/src/main/java/com/am.../players/ui/thirdlayout
SecondLayoutFragment.kt
ThirdLayoutFragment.kt
35:44 (6%)
34:43 (5%)
view
6 x 2 app/src/main/java/com/am...players/ui/secondlayout
app/src/main/java/com/am.../players/ui/thirdlayout
SecondLayoutFragment.kt
ThirdLayoutFragment.kt
26:33 (5%)
25:32 (4%)
view
Duplicated Units
The list of top 2 duplicated units.
See data for all 2 unit duplicates...
Size#FoldersFilesLinesCode
7 x 2 app/src/main/java/com/am.../players/ui/thirdlayout
app/src/main/java/com/am...players/ui/secondlayout
ThirdLayoutViewModel.kt
SecondLayoutViewModel.kt
79:86 
79:86 
view
7 x 3 app/src/main/java/com/am.../players/ui/thirdlayout
app/src/main/java/com/am...players/ui/secondlayout
app/src/main/java/com/am.../players/ui/firstlayout
ThirdLayoutFragment.kt
SecondLayoutFragment.kt
FirstLayoutFragment.kt
102:109 
103:110 
107:114 
view