Duplication Overall
  • 10% duplication:
    • 2,229 cleaned lines of cleaned code (without empty lines, comments, and frequently duplicated constructs such as imports)
    • 240 duplicated lines
  • 12 duplicates
system10% (240 lines)
dependency graphs: 2D graph | 2D graph (with duplicates)... | 3D graph | 3D graph (with duplicates)...
Duplication per Extension
yaml42% (152 lines)
py5% (88 lines)
Duplication per Component (primary)
rabbitmq16% (106 lines)
atomresponder9% (90 lines)
kinesisresponder9% (32 lines)
cloudformation10% (12 lines)
test-sending-tool0% (0 lines)
ROOT0% (0 lines)

Duplication Between Components (50+ lines)

flowchart TB
    n0["atomresponder"]
    n1["rabbitmq"]
    n2["kinesisresponder"]
    n0 ---|"124"| n1
    n0 ---|"52"| n2
    classDef default fill:#00b2ee,stroke:#ffffff,color:#000000;
    classDef highlighted fill:#00b2ee,stroke:#ffffff,color:#000000;
    linkStyle 0 stroke:#DC143CFF,stroke-width:10px
    linkStyle 1 stroke:#DC143C93,stroke-width:4px



2D force graph | 3D force graph

Show more details on duplication between components...
From Component
 --> To Component
Duplicated
Lines
File Pairs Details
atomresponder (6%)
  --> rabbitmq (9%)
124 3 file pairs details...
atomresponder (2%)
  --> kinesisresponder (7%)
52 2 file pairs details...

Longest Duplicates
The list of 12 longest duplicates.
See data for all 12 duplicates...
Size#FoldersFilesLinesCode
39 x 2 atomresponder/fixtures
rabbitmq/fixtures
13:51 (76%)
13:51 (76%)
view
22 x 2 rabbitmq
rabbitmq
51:87 (39%)
66:89 (23%)
view
14 x 2 atomresponder/fixtures
kinesisresponder/fixtures
1:14 (93%)
16:29 (23%)
view
12 x 2 kinesisresponder/fixtures
kinesisresponder/fixtures
1:12 (20%)
16:27 (20%)
view
12 x 2 atomresponder/fixtures
kinesisresponder/fixtures
1:12 (80%)
1:12 (20%)
view
11 x 2 atomresponder/fixtures
rabbitmq/fixtures
1:11 (21%)
1:11 (21%)
view
7 x 2 atomresponder
atomresponder
38:44 (10%)
52:58 (10%)
view
6 x 2 cloudformation
cloudformation
37:42 (5%)
82:87 (5%)
view
6 x 2 atomresponder
rabbitmq/management/commands
42:47 (2%)
93:98 (8%)
view
6 x 2 atomresponder/migrations
rabbitmq/migrations
6:14 (15%)
6:14 (20%)
view
6 x 2 atomresponder/migrations
kinesisresponder/migrations
6:14 (15%)
6:14 (27%)
view
6 x 2 kinesisresponder/migrations
rabbitmq/migrations
6:14 (27%)
6:14 (20%)
view
Most Frequent Duplicates
The list of 8 most frequently found duplicates.
Size#FoldersFilesLinesCode
6 x 3 atomresponder/fixtures
kinesisresponder/fixtures
kinesisresponder/fixtures
1:6 (40%)
1:6 (10%)
16:21 (10%)
view
6 x 3 atomresponder/fixtures
kinesisresponder/fixtures
kinesisresponder/fixtures
5:10 (40%)
5:10 (10%)
20:25 (10%)
view
6 x 3 atomresponder/fixtures
kinesisresponder/fixtures
kinesisresponder/fixtures
4:9 (40%)
4:9 (10%)
19:24 (10%)
view
6 x 3 atomresponder/fixtures
kinesisresponder/fixtures
kinesisresponder/fixtures
2:7 (40%)
2:7 (10%)
17:22 (10%)
view
6 x 3 atomresponder/fixtures
kinesisresponder/fixtures
kinesisresponder/fixtures
6:11 (40%)
6:11 (10%)
21:26 (10%)
view
6 x 3 atomresponder/fixtures
kinesisresponder/fixtures
kinesisresponder/fixtures
3:8 (40%)
3:8 (10%)
18:23 (10%)
view
6 x 3 atomresponder/migrations
rabbitmq/migrations
kinesisresponder/migrations
6:14 (15%)
6:14 (20%)
6:14 (27%)
view
6 x 3 atomresponder/fixtures
kinesisresponder/fixtures
kinesisresponder/fixtures
7:12 (40%)
7:12 (10%)
22:27 (10%)
view
About This Analysis
  • 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...