facebookincubator / OnlineSchemaChange
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
  • 5% duplication:
    • 6,726 cleaned lines of cleaned code (without empty lines, comments, and frequently duplicated constructs such as imports)
    • 399 duplicated lines
  • 42 duplicates
system5% (399 lines)
Duplication per Extension
py5% (399 lines)
Duplication per Component (primary)
core/lib/payload6% (158 lines)
core/lib8% (124 lines)
core/lib/sqlparse4% (105 lines)
core/commands2% (12 lines)
core0% (0 lines)
ROOT0% (0 lines)
Longest Duplicates
The list of 42 longest duplicates.
See data for all 42 duplicates...
Size#FoldersFilesLinesCode
15 x 2 core/lib
core/lib
673:692 (2%)
730:744 (2%)
view
11 x 2 core/lib
core/lib
716:726 (1%)
758:768 (1%)
view
10 x 2 core/lib/payload
core/lib/payload
2331:2340 (<1%)
2415:2424 (<1%)
view
9 x 2 core/lib/payload
core/lib/payload
2973:2981 (<1%)
44:52 (37%)
view
9 x 2 core/lib/payload
core/lib/payload
1915:1924 (<1%)
1934:1943 (<1%)
view
9 x 2 core/lib/sqlparse
core/lib/sqlparse
445:454 (1%)
490:499 (1%)
view
9 x 2 core/lib/payload
core/lib/payload
2297:2305 (<1%)
2401:2409 (<1%)
view
8 x 2 core/lib/payload
core/lib/payload
2948:2955 (<1%)
36:43 (33%)
view
8 x 2 core/lib
core/lib
662:669 (1%)
761:768 (1%)
view
8 x 2 core/lib
core/lib
662:669 (1%)
719:726 (1%)
view
7 x 2 core/lib
core/lib/sqlparse
121:127 (7%)
821:827 (1%)
view
7 x 2 core/lib
core/lib/sqlparse
105:111 (7%)
821:827 (1%)
view
7 x 2 core/lib
core/lib
105:111 (7%)
137:143 (7%)
view
7 x 2 core/lib
core/lib
89:95 (7%)
137:143 (7%)
view
7 x 2 core/lib
core/lib/sqlparse
89:95 (7%)
821:827 (1%)
view
7 x 2 core/lib
core/lib
89:95 (7%)
121:127 (7%)
view
7 x 2 core/lib
core/lib/sqlparse
137:143 (7%)
821:827 (1%)
view
7 x 2 core/lib/sqlparse
core/lib/sqlparse
789:795 (<1%)
827:833 (<1%)
view
7 x 2 core/lib/payload
core/lib/payload
208:214 (3%)
235:241 (3%)
view
7 x 2 core/lib
core/lib
105:111 (7%)
121:127 (7%)
view
7 x 2 core/lib
core/lib
89:95 (7%)
105:111 (7%)
view
7 x 2 core/lib
core/lib
121:127 (7%)
137:143 (7%)
view
6 x 2 core/lib
core/lib/payload
137:142 (6%)
512:517 (<1%)
view
6 x 2 core/lib/sqlparse
core/lib/sqlparse
400:405 (1%)
490:495 (1%)
view
6 x 2 core/lib/payload
core/lib/sqlparse
512:517 (<1%)
821:826 (1%)
view
6 x 2 core/lib
core/lib/payload
105:110 (6%)
512:517 (<1%)
view
6 x 2 core/lib/sqlparse
core/lib/sqlparse
557:562 (<1%)
580:585 (<1%)
view
6 x 2 core/lib/payload
core/lib/payload
798:804 (<1%)
954:959 (<1%)
view
6 x 2 core/lib
core/lib/payload
121:126 (6%)
512:517 (<1%)
view
6 x 2 core/lib/sqlparse
core/lib/sqlparse
400:405 (1%)
445:450 (1%)
view
6 x 2 core/commands
core/commands
36:41 (17%)
49:54 (12%)
view
6 x 2 core/lib/sqlparse
core/lib/sqlparse
728:733 (<1%)
771:776 (<1%)
view
6 x 2 core/lib
core/lib
487:492 (<1%)
535:540 (<1%)
view
6 x 2 core/lib/sqlparse
core/lib/sqlparse
299:304 (1%)
394:399 (1%)
view
6 x 2 core/lib/payload
core/lib/payload
2474:2479 (<1%)
2485:2490 (<1%)
view
6 x 2 core/lib/sqlparse
core/lib/sqlparse
436:442 (1%)
477:483 (1%)
view
6 x 2 core/lib/payload
core/lib/payload
219:224 (3%)
246:251 (3%)
view
6 x 2 core/lib/sqlparse
core/lib/sqlparse
112:119 (1%)
385:392 (1%)
view
6 x 2 core/lib
core/lib
82:87 (6%)
114:119 (6%)
view
6 x 2 core/lib
core/lib/payload
89:94 (6%)
512:517 (<1%)
view
6 x 2 core/lib
core/lib
98:103 (6%)
130:135 (6%)
view
6 x 2 core/lib/payload
core/lib/payload
1655:1661 (<1%)
1679:1685 (<1%)
view