facebookincubator / FCR
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
  • 42% duplication:
    • 7,026 cleaned lines of cleaned code (without empty lines, comments, and frequently duplicated constructs such as imports)
    • 3,001 duplicated lines
  • 1,537 duplicates
system42% (3,001 lines)
Duplication per Extension
py43% (2,975 lines)
thrift16% (26 lines)
Duplication per Component (primary)
if/py/gen-py/fbnet/command_runner_asyncio/CommandRunner67% (2,846 lines)
fbnet/command_runner4% (129 lines)
if16% (26 lines)
if/py/gen-py/fbnet/command_runner_asyncio0% (0 lines)
if/py/gen-py/fbnet0% (0 lines)
if/py/gen-py0% (0 lines)
if/py0% (0 lines)
ROOT0% (0 lines)
Longest Duplicates
The list of 50 longest duplicates.
See data for all 1,537 duplicates...
Size#FoldersFilesLinesCode
66 x 2 if/py/gen-py/fbnet/comma...r_asyncio/CommandRunner
if/py/gen-py/fbnet/comma...r_asyncio/CommandRunner
1393:1461 (2%)
2286:2354 (2%)
view
62 x 2 if/py/gen-py/fbnet/comma...r_asyncio/CommandRunner
if/py/gen-py/fbnet/comma...r_asyncio/CommandRunner
1463:1530 (1%)
2356:2423 (1%)
view
61 x 2 if/py/gen-py/fbnet/comma...r_asyncio/CommandRunner
if/py/gen-py/fbnet/comma...r_asyncio/CommandRunner
730:796 (1%)
1108:1174 (1%)
view
56 x 2 if/py/gen-py/fbnet/comma...r_asyncio/CommandRunner
if/py/gen-py/fbnet/comma...r_asyncio/CommandRunner
2019:2077 (1%)
2928:2986 (1%)
view
47 x 2 if/py/gen-py/fbnet/comma...r_asyncio/CommandRunner
if/py/gen-py/fbnet/comma...r_asyncio/CommandRunner
1583:1632 (1%)
2476:2525 (1%)
view
47 x 2 if/py/gen-py/fbnet/comma...r_asyncio/CommandRunner
if/py/gen-py/fbnet/comma...r_asyncio/CommandRunner
1897:1946 (1%)
2806:2855 (1%)
view
46 x 2 if/py/gen-py/fbnet/comma...r_asyncio/CommandRunner
if/py/gen-py/fbnet/comma...r_asyncio/CommandRunner
2079:2130 (1%)
2988:3039 (1%)
view
42 x 2 if/py/gen-py/fbnet/comma...r_asyncio/CommandRunner
if/py/gen-py/fbnet/comma...r_asyncio/CommandRunner
677:720 (1%)
1055:1098 (1%)
view
41 x 2 if/py/gen-py/fbnet/comma...r_asyncio/CommandRunner
if/py/gen-py/fbnet/comma...r_asyncio/CommandRunner
303:345 (1%)
1056:1098 (1%)
view
41 x 2 if/py/gen-py/fbnet/comma...r_asyncio/CommandRunner
if/py/gen-py/fbnet/comma...r_asyncio/CommandRunner
303:345 (1%)
678:720 (1%)
view
41 x 2 if/py/gen-py/fbnet/comma...r_asyncio/CommandRunner
if/py/gen-py/fbnet/comma...r_asyncio/CommandRunner
2178:2221 (1%)
3087:3130 (1%)
view
40 x 2 if/py/gen-py/fbnet/comma...r_asyncio/CommandRunner
if/py/gen-py/fbnet/comma...r_asyncio/CommandRunner
142:184 (3%)
228:270 (3%)
view
40 x 2 if/py/gen-py/fbnet/comma...r_asyncio/CommandRunner
if/py/gen-py/fbnet/comma...r_asyncio/CommandRunner
142:184 (3%)
314:356 (3%)
view
40 x 2 if/py/gen-py/fbnet/comma...r_asyncio/CommandRunner
if/py/gen-py/fbnet/comma...r_asyncio/CommandRunner
56:98 (3%)
228:270 (3%)
view
40 x 2 if/py/gen-py/fbnet/comma...r_asyncio/CommandRunner
if/py/gen-py/fbnet/comma...r_asyncio/CommandRunner
56:98 (3%)
314:356 (3%)
view
40 x 2 if/py/gen-py/fbnet/comma...r_asyncio/CommandRunner
if/py/gen-py/fbnet/comma...r_asyncio/CommandRunner
56:98 (3%)
400:442 (3%)
view
40 x 2 if/py/gen-py/fbnet/comma...r_asyncio/CommandRunner
if/py/gen-py/fbnet/comma...r_asyncio/CommandRunner
56:98 (3%)
142:184 (3%)
view
40 x 2 if/py/gen-py/fbnet/comma...r_asyncio/CommandRunner
if/py/gen-py/fbnet/comma...r_asyncio/CommandRunner
228:270 (3%)
400:442 (3%)
view
40 x 2 if/py/gen-py/fbnet/comma...r_asyncio/CommandRunner
if/py/gen-py/fbnet/comma...r_asyncio/CommandRunner
314:356 (3%)
400:442 (3%)
view
40 x 2 if/py/gen-py/fbnet/comma...r_asyncio/CommandRunner
if/py/gen-py/fbnet/comma...r_asyncio/CommandRunner
228:270 (3%)
314:356 (3%)
view
40 x 2 if/py/gen-py/fbnet/comma...r_asyncio/CommandRunner
if/py/gen-py/fbnet/comma...r_asyncio/CommandRunner
142:184 (3%)
400:442 (3%)
view
37 x 2 if/py/gen-py/fbnet/comma...r_asyncio/CommandRunner
if/py/gen-py/fbnet/comma...r_asyncio/CommandRunner
1707:1744 (1%)
2601:2638 (1%)
view
33 x 2 if/py/gen-py/fbnet/comma...r_asyncio/CommandRunner
if/py/gen-py/fbnet/comma...r_asyncio/CommandRunner
478:511 (1%)
2806:2839 (1%)
view
33 x 2 if/py/gen-py/fbnet/comma...r_asyncio/CommandRunner
if/py/gen-py/fbnet/comma...r_asyncio/CommandRunner
478:511 (1%)
1897:1930 (1%)
view
31 x 2 if/py/gen-py/fbnet/comma...r_asyncio/CommandRunner
if/py/gen-py/fbnet/comma...r_asyncio/CommandRunner
313:345 (<1%)
2045:2077 (<1%)
view
31 x 2 if/py/gen-py/fbnet/comma...r_asyncio/CommandRunner
if/py/gen-py/fbnet/comma...r_asyncio/CommandRunner
313:345 (<1%)
2322:2354 (<1%)
view
31 x 2 if/py/gen-py/fbnet/comma...r_asyncio/CommandRunner
if/py/gen-py/fbnet/comma...r_asyncio/CommandRunner
2045:2077 (<1%)
2322:2354 (<1%)
view
31 x 2 if/py/gen-py/fbnet/comma...r_asyncio/CommandRunner
if/py/gen-py/fbnet/comma...r_asyncio/CommandRunner
313:345 (<1%)
1429:1461 (<1%)
view
31 x 2 if/py/gen-py/fbnet/comma...r_asyncio/CommandRunner
if/py/gen-py/fbnet/comma...r_asyncio/CommandRunner
313:345 (<1%)
1743:1775 (<1%)
view
31 x 2 if/py/gen-py/fbnet/comma...r_asyncio/CommandRunner
if/py/gen-py/fbnet/comma...r_asyncio/CommandRunner
1743:1775 (<1%)
2642:2674 (<1%)
view
31 x 2 if/py/gen-py/fbnet/comma...r_asyncio/CommandRunner
if/py/gen-py/fbnet/comma...r_asyncio/CommandRunner
1743:1775 (<1%)
2954:2986 (<1%)
view
31 x 2 if/py/gen-py/fbnet/comma...r_asyncio/CommandRunner
if/py/gen-py/fbnet/comma...r_asyncio/CommandRunner
2322:2354 (<1%)
2954:2986 (<1%)
view
31 x 2 if/py/gen-py/fbnet/comma...r_asyncio/CommandRunner
if/py/gen-py/fbnet/comma...r_asyncio/CommandRunner
1743:1775 (<1%)
2045:2077 (<1%)
view
31 x 2 if/py/gen-py/fbnet/comma...r_asyncio/CommandRunner
if/py/gen-py/fbnet/comma...r_asyncio/CommandRunner
1429:1461 (<1%)
2642:2674 (<1%)
view
31 x 2 if/py/gen-py/fbnet/comma...r_asyncio/CommandRunner
if/py/gen-py/fbnet/comma...r_asyncio/CommandRunner
2322:2354 (<1%)
2642:2674 (<1%)
view
31 x 2 if/py/gen-py/fbnet/comma...r_asyncio/CommandRunner
if/py/gen-py/fbnet/comma...r_asyncio/CommandRunner
1066:1098 (<1%)
2045:2077 (<1%)
view
31 x 2 if/py/gen-py/fbnet/comma...r_asyncio/CommandRunner
if/py/gen-py/fbnet/comma...r_asyncio/CommandRunner
1429:1461 (<1%)
1743:1775 (<1%)
view
31 x 2 if/py/gen-py/fbnet/comma...r_asyncio/CommandRunner
if/py/gen-py/fbnet/comma...r_asyncio/CommandRunner
1066:1098 (<1%)
2322:2354 (<1%)
view
31 x 2 if/py/gen-py/fbnet/comma...r_asyncio/CommandRunner
if/py/gen-py/fbnet/comma...r_asyncio/CommandRunner
1429:1461 (<1%)
2954:2986 (<1%)
view
31 x 2 if/py/gen-py/fbnet/comma...r_asyncio/CommandRunner
if/py/gen-py/fbnet/comma...r_asyncio/CommandRunner
688:720 (<1%)
2322:2354 (<1%)
view
31 x 2 if/py/gen-py/fbnet/comma...r_asyncio/CommandRunner
if/py/gen-py/fbnet/comma...r_asyncio/CommandRunner
1743:1775 (<1%)
2322:2354 (<1%)
view
31 x 2 if/py/gen-py/fbnet/comma...r_asyncio/CommandRunner
if/py/gen-py/fbnet/comma...r_asyncio/CommandRunner
688:720 (<1%)
1743:1775 (<1%)
view
31 x 2 if/py/gen-py/fbnet/comma...r_asyncio/CommandRunner
if/py/gen-py/fbnet/comma...r_asyncio/CommandRunner
313:345 (<1%)
2642:2674 (<1%)
view
31 x 2 if/py/gen-py/fbnet/comma...r_asyncio/CommandRunner
if/py/gen-py/fbnet/comma...r_asyncio/CommandRunner
688:720 (<1%)
2045:2077 (<1%)
view
31 x 2 if/py/gen-py/fbnet/comma...r_asyncio/CommandRunner
if/py/gen-py/fbnet/comma...r_asyncio/CommandRunner
1066:1098 (<1%)
1743:1775 (<1%)
view
31 x 2 if/py/gen-py/fbnet/comma...r_asyncio/CommandRunner
if/py/gen-py/fbnet/comma...r_asyncio/CommandRunner
313:345 (<1%)
2954:2986 (<1%)
view
31 x 2 if/py/gen-py/fbnet/comma...r_asyncio/CommandRunner
if/py/gen-py/fbnet/comma...r_asyncio/CommandRunner
2642:2674 (<1%)
2954:2986 (<1%)
view
31 x 2 if/py/gen-py/fbnet/comma...r_asyncio/CommandRunner
if/py/gen-py/fbnet/comma...r_asyncio/CommandRunner
1429:1461 (<1%)
2045:2077 (<1%)
view
31 x 2 if/py/gen-py/fbnet/comma...r_asyncio/CommandRunner
if/py/gen-py/fbnet/comma...r_asyncio/CommandRunner
1066:1098 (<1%)
2642:2674 (<1%)
view
31 x 2 if/py/gen-py/fbnet/comma...r_asyncio/CommandRunner
if/py/gen-py/fbnet/comma...r_asyncio/CommandRunner
688:720 (<1%)
2642:2674 (<1%)
view