amazon-connect / amazon-connect-snippets
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
  • 23% duplication:
    • 8,226 cleaned lines of cleaned code (without empty lines, comments, and frequently duplicated constructs such as imports)
    • 1,947 duplicated lines
  • 244 duplicates
system23% (1,947 lines)
Duplication per Extension
jsx47% (1,303 lines)
yml61% (296 lines)
yaml15% (194 lines)
py12% (80 lines)
js3% (62 lines)
html2% (12 lines)
Duplication per Component (primary)
tools/CCPLogParser40% (1,331 lines)
projects/LastAgentRouting95% (119 lines)
projects/GetSetDataByID95% (119 lines)
python/remote-control-center29% (98 lines)
projects/DynamicContactCenter19% (95 lines)
projects/ContextRouting11% (26 lines)
projects/RateLimiter5% (26 lines)
tools/ConnectCloudwatchDashboard5% (24 lines)
projects/RoutingTable41% (23 lines)
projects/CallerHistory34% (17 lines)
tools/CCPConnectivityTestTools1% (16 lines)
projects/HotMessage14% (10 lines)
projects/SCV-CrossAccountSMS8% (9 lines)
projects/LambdaAlias14% (8 lines)
projects/CrossRegionCrossAccount20% (8 lines)
javascript/customAgentDesktop-AzureSSO1% (6 lines)
python/syncinstances5% (6 lines)
python/multiaccountmetrics9% (6 lines)
go/StartOutboundVoiceContact0% (0 lines)
go/GetQueueAvailableAgents0% (0 lines)
java/OutboundExample0% (0 lines)
javascript/restrict-deskphone-in-ccp0% (0 lines)
javascript/programmatically-create-task-example0% (0 lines)
python/holidaycheck0% (0 lines)
python/contactflowhelper0% (0 lines)
python/LexDefaultIntentUtterance0% (0 lines)
powershell/New-ConnectUser0% (0 lines)
projects/WisdomAPI0% (0 lines)
dotnet/OutboundExample0% (0 lines)

Duplication Between Components (50+ lines)

G projects/GetSetDataByID projects/GetSetDataByID projects/LastAgentRouting projects/LastAgentRouting projects/GetSetDataByID--projects/LastAgentRouting 208 projects/RoutingTable projects/RoutingTable projects/GetSetDataByID--projects/RoutingTable 60 projects/LastAgentRouting--projects/RoutingTable 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 244 duplicates...
Size#FoldersFilesLinesCode
49 x 2 tools/CCPLogParser/src
tools/CCPLogParser/src
MetricsView.jsx
SkewMetricsView.jsx
153:208 (10%)
135:190 (13%)
view
45 x 2 tools/CCPLogParser/src
tools/CCPLogParser/src
MetricsView.jsx
SkewMetricsView.jsx
302:351 (9%)
252:301 (12%)
view
35 x 2 tools/CCPLogParser/src
tools/CCPLogParser/src
MetricsView.jsx
SkewMetricsView.jsx
48:82 (7%)
35:69 (9%)
view
33 x 2 tools/CCPLogParser/src
tools/CCPLogParser/src
ApiCallMetricsView.jsx
SkewMetricsView.jsx
94:130 (16%)
151:187 (9%)
view
33 x 2 tools/CCPLogParser/src
tools/CCPLogParser/src
ApiCallMetricsView.jsx
MetricsView.jsx
94:130 (16%)
169:205 (7%)
view
31 x 2 projects/GetSetDataByID
projects/LastAgentRouting
getsetdatabyid.yml
lastagentrouting.yml
22:61 (24%)
22:61 (24%)
view
29 x 2 tools/CCPLogParser/src
tools/CCPLogParser/src
MetricsView.jsx
SkewMetricsView.jsx
86:115 (6%)
71:100 (8%)
view
25 x 2 tools/CCPLogParser/src
tools/CCPLogParser/src
MetricsView.jsx
SkewMetricsView.jsx
210:239 (5%)
191:220 (7%)
view
25 x 2 tools/CCPLogParser/src
tools/CCPLogParser/src
ApiCallMetricsView.jsx
SkewMetricsView.jsx
56:80 (12%)
64:88 (7%)
view
25 x 2 projects/DynamicContactCenter
projects/DynamicContactCenter
dynamic-attribute-routing.yaml
dynamic-attribute-routing.yaml
112:157 (5%)
208:253 (5%)
view
23 x 2 projects/GetSetDataByID
projects/LastAgentRouting
getsetdatabyid.yml
lastagentrouting.yml
111:137 (18%)
111:137 (18%)
view
22 x 2 tools/CCPLogParser/src
tools/CCPLogParser/src
ApiCallMetricsView.jsx
RtcMetricsView.jsx
31:52 (11%)
42:63 (4%)
view
22 x 2 tools/CCPLogParser/src
tools/CCPLogParser/src
MetricsView.jsx
SkewMetricsView.jsx
268:293 (4%)
220:245 (6%)
view
22 x 2 tools/CCPLogParser/src
tools/CCPLogParser/src
ApiCallMetricsView.jsx
MetricsView.jsx
133:159 (11%)
241:267 (4%)
view
21 x 2 tools/CCPLogParser/src
tools/CCPLogParser/src
MetricsView.jsx
SkewMetricsView.jsx
118:140 (4%)
103:125 (5%)
view
20 x 2 tools/CCPLogParser/src
tools/CCPLogParser/src
EmptyView.jsx
LoadingView.jsx
27:46 (34%)
28:47 (33%)
view
20 x 2 tools/CCPLogParser/src
tools/CCPLogParser/src
DraggingView.jsx
EmptyView.jsx
1:22 (32%)
1:22 (34%)
view
19 x 2 tools/CCPLogParser/src
tools/CCPLogParser/src
MetricsView.jsx
SkewMetricsView.jsx
469:489 (4%)
349:369 (5%)
view
19 x 2 projects/DynamicContactCenter
projects/DynamicContactCenter
dynamic-attribute-routing.yaml
dynamic-attribute-routing.yaml
198:222 (3%)
290:313 (3%)
view
18 x 2 tools/CCPLogParser/src
tools/CCPLogParser/src
ApiCallMetricsView.jsx
SkewMetricsView.jsx
1:19 (9%)
1:19 (5%)
view
Duplicated Units
The list of top 2 duplicated units.
See data for all 2 unit duplicates...
Size#FoldersFilesLinesCode
7 x 2 tools/ConnectCloudwatchDashboard
tools/ConnectCloudwatchDashboard
index.js
index.js
388:397 
404:413 
view
7 x 2 tools/ConnectCloudwatchDashboard
tools/ConnectCloudwatchDashboard
index.js
index.js
420:429 
431:440 
view