facebook / wangle
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:
    • 18,835 cleaned lines of cleaned code (without empty lines, comments, and frequently duplicated constructs such as imports)
    • 1,035 duplicated lines
  • 89 duplicates
system5% (1,035 lines)
Duplication per Extension
h4% (284 lines)
py4% (274 lines)
cpp5% (241 lines)
cmake10% (236 lines)
Duplication per Component (primary)
build/fbcode_builder5% (484 lines)
wangle/channel12% (222 lines)
wangle/example23% (189 lines)
wangle/client3% (30 lines)
wangle/acceptor1% (28 lines)
wangle/cmake17% (26 lines)
wangle/ssl<1% (18 lines)
wangle/bootstrap1% (14 lines)
wangle/util4% (12 lines)
wangle/codec3% (12 lines)
wangle/service0% (0 lines)
build0% (0 lines)
Longest Duplicates
The list of 50 longest duplicates.
See data for all 89 duplicates...
Size#FoldersFilesLinesCode
26 x 2 wangle/channel
wangle/channel
179:216 (7%)
347:384 (7%)
view
26 x 2 wangle/channel
wangle/channel
220:256 (7%)
450:486 (7%)
view
25 x 2 wangle/example/echo
wangle/example/ssl
34:66 (54%)
57:89 (26%)
view
17 x 2 wangle/example/echo
wangle/example/ssl
34:54 (65%)
55:75 (17%)
view
15 x 2 wangle/channel
wangle/channel
277:299 (4%)
397:419 (4%)
view
15 x 2 build/fbcode_builder/CMake
build/fbcode_builder/CMake
171:185 (8%)
40:54 (15%)
view
14 x 2 wangle/example/echo
wangle/example/telnet
74:94 (30%)
74:95 (29%)
view
14 x 2 build/fbcode_builder/getdeps
build/fbcode_builder/getdeps
722:735 (1%)
1208:1221 (1%)
view
13 x 2 build/fbcode_builder/getdeps
build/fbcode_builder/getdeps
78:92 (7%)
136:149 (7%)
view
13 x 2 build/fbcode_builder/CMake
build/fbcode_builder/CMake
1:13 (52%)
1:13 (38%)
view
13 x 2 wangle/cmake
wangle/cmake
1:13 (40%)
1:13 (54%)
view
12 x 2 build/fbcode_builder/CMake
wangle/cmake
2:13 (48%)
2:13 (37%)
view
12 x 2 build/fbcode_builder/CMake
wangle/cmake
2:13 (35%)
2:13 (37%)
view
12 x 2 build/fbcode_builder/CMake
wangle/cmake
2:13 (35%)
2:13 (50%)
view
12 x 2 build/fbcode_builder/CMake
wangle/cmake
2:13 (48%)
2:13 (50%)
view
11 x 2 build/fbcode_builder/CMake
build/fbcode_builder/CMake
86:97 (6%)
53:64 (11%)
view
11 x 2 wangle/channel
wangle/channel
303:318 (3%)
490:505 (3%)
view
11 x 2 build/fbcode_builder/CMake
build/fbcode_builder/CMake
115:127 (4%)
180:192 (4%)
view
10 x 2 build/fbcode_builder/getdeps
build/fbcode_builder/getdeps
489:498 (1%)
501:510 (1%)
view
9 x 2 build/fbcode_builder/getdeps
build/fbcode_builder/getdeps
291:299 (1%)
328:336 (1%)
view
9 x 2 build/fbcode_builder/CMake
build/fbcode_builder/CMake
27:35 (5%)
29:38 (12%)
view
9 x 2 wangle/example/rpc
wangle/example/rpc
42:51 (14%)
64:73 (22%)
view
9 x 2 build/fbcode_builder/CMake
build/fbcode_builder/CMake
557:566 (1%)
221:230 (3%)
view
9 x 2 wangle/channel
wangle/channel
60:71 (9%)
122:133 (9%)
view
8 x 2 wangle/acceptor
wangle/acceptor
200:208 (5%)
111:119 (10%)
view
8 x 2 build/fbcode_builder/getdeps
build/fbcode_builder/getdeps
20:27 (2%)
621:628 (1%)
view
8 x 2 build/fbcode_builder/CMake
build/fbcode_builder/CMake
117:124 (4%)
89:96 (8%)
view
8 x 2 build/fbcode_builder/getdeps
build/fbcode_builder/getdeps
22:29 (<1%)
180:187 (<1%)
view
8 x 2 build/fbcode_builder/getdeps
build/fbcode_builder/getdeps
22:29 (<1%)
15:22 (2%)
view
8 x 2 build/fbcode_builder
build/fbcode_builder
481:489 (<1%)
502:510 (<1%)
view
8 x 2 wangle/channel
wangle/channel
74:108 (8%)
149:158 (8%)
view
8 x 2 build/fbcode_builder/getdeps
build/fbcode_builder/getdeps
180:187 (<1%)
15:22 (2%)
view
8 x 2 build/fbcode_builder/getdeps
build/fbcode_builder/getdeps
289:297 (1%)
310:318 (1%)
view
8 x 2 wangle/channel
wangle/channel
187:196 (6%)
48:57 (11%)
view
8 x 2 build/fbcode_builder/getdeps
build/fbcode_builder/getdeps
22:29 (<1%)
256:263 (<1%)
view
8 x 2 wangle/channel
wangle/channel
38:46 (14%)
95:103 (14%)
view
8 x 2 build/fbcode_builder/getdeps
build/fbcode_builder/getdeps
180:187 (<1%)
256:263 (<1%)
view
8 x 2 build/fbcode_builder/getdeps
build/fbcode_builder/getdeps
165:172 (6%)
176:183 (6%)
view
8 x 2 build/fbcode_builder/getdeps
build/fbcode_builder/getdeps
180:187 (<1%)
521:528 (<1%)
view
8 x 2 build/fbcode_builder/CMake
build/fbcode_builder/CMake
128:135 (2%)
194:201 (2%)
view
8 x 2 build/fbcode_builder/getdeps
build/fbcode_builder/getdeps
521:528 (<1%)
15:22 (2%)
view
8 x 2 build/fbcode_builder/getdeps
build/fbcode_builder/getdeps
256:263 (<1%)
521:528 (<1%)
view
8 x 2 build/fbcode_builder/getdeps
build/fbcode_builder/getdeps
22:29 (<1%)
521:528 (<1%)
view
8 x 2 build/fbcode_builder/getdeps
build/fbcode_builder/getdeps
256:263 (<1%)
15:22 (2%)
view
7 x 2 build/fbcode_builder
build/fbcode_builder
504:510 (<1%)
525:531 (<1%)
view
7 x 2 wangle/example/ssl
wangle/example/telnet
165:174 (7%)
85:95 (14%)
view
7 x 2 wangle/example/echo
wangle/example/ssl
84:94 (15%)
165:174 (7%)
view
7 x 2 build/fbcode_builder/getdeps
build/fbcode_builder/getdeps
312:318 (1%)
328:334 (1%)
view
7 x 2 wangle/bootstrap
wangle/bootstrap
47:53 (10%)
90:96 (10%)
view
7 x 2 wangle/example/echo
wangle/example/telnet
42:50 (15%)
41:49 (14%)
view
Duplicated Units
The list of top 4 duplicated units.
See data for all 4 unit duplicates...
Size#FoldersFilesLinesCode
22 x 2 wangle/example/echo
wangle/example/telnet
68:95 
68:96 
view
9 x 2 wangle/example/ssl
wangle/example/echo
78:88 
55:65 
view
7 x 2 wangle/example/ssl
wangle/example/echo
66:74 
45:53 
view
6 x 4 wangle/example/echo
wangle/example/file
wangle/example/rpc
wangle/example/telnet
56:65 
99:108 
91:100 
70:79 
view