microsoft / bond
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
  • 11% duplication:
    • 30,208 cleaned lines of cleaned code (without empty lines, comments, and frequently duplicated constructs such as imports)
    • 3,611 duplicated lines
  • 634 duplicates
system11% (3,611 lines)
Duplication per Extension
java31% (1,962 lines)
cs12% (799 lines)
h5% (599 lines)
hs2% (106 lines)
cabal31% (51 lines)
cmake4% (26 lines)
yaml20% (26 lines)
xaml30% (16 lines)
zsh10% (14 lines)
ps13% (12 lines)
Duplication per Component (primary)
java/core33% (1,938 lines)
cs/src12% (799 lines)
cpp/inc6% (599 lines)
compiler/src2% (106 lines)
compiler10% (77 lines)
cmake4% (26 lines)
tools/ci-scripts4% (26 lines)
java/json6% (24 lines)
cs/build5% (16 lines)
ROOT0% (0 lines)
compiler/extra0% (0 lines)
cpp/src0% (0 lines)
cs0% (0 lines)
doc/doxygen0% (0 lines)
java/compat0% (0 lines)
java/gradle-plugin0% (0 lines)
python/inc0% (0 lines)
tools/release0% (0 lines)
Longest Duplicates
The list of 20 longest duplicates.
See data for all 634 duplicates...
Size#FoldersFilesLinesCode
42 x 2 java/core/src/main/java/org/bondlib
java/core/src/main/java/org/bondlib
ListBondType.java
VectorBondType.java
156:215 (30%)
162:221 (30%)
view
34 x 2 java/core/src/main/java/org/bondlib
java/core/src/main/java/org/bondlib
Int8BondType.java
UInt8BondType.java
51:108 (41%)
51:108 (41%)
view
34 x 2 java/core/src/main/java/org/bondlib
java/core/src/main/java/org/bondlib
Int16BondType.java
UInt16BondType.java
51:108 (40%)
51:108 (40%)
view
34 x 2 java/core/src/main/java/org/bondlib
java/core/src/main/java/org/bondlib
Int32BondType.java
UInt32BondType.java
51:108 (39%)
51:108 (39%)
view
34 x 2 java/core/src/main/java/org/bondlib
java/core/src/main/java/org/bondlib
Int64BondType.java
UInt64BondType.java
51:108 (38%)
51:108 (38%)
view
33 x 2 java/core/src/main/java/org/bondlib
java/core/src/main/java/org/bondlib
ListBondType.java
VectorBondType.java
35:88 (23%)
35:89 (23%)
view
31 x 2 cs/src/core/protocols
cs/src/core/protocols
CompactBinary.cs
FastBinary.cs
747:823 (9%)
596:672 (10%)
view
30 x 2 cs/src/core/io
cs/src/io/unsafe
IntegerHelper.cs
IntegerHelper.cs
269:326 (17%)
182:239 (25%)
view
28 x 2 java/core/src/main/java/org/bondlib
java/core/src/main/java/org/bondlib
CompactBinaryReader.java
FastBinaryReader.java
153:193 (13%)
141:181 (14%)
view
27 x 2 cpp/inc/bond/protocol
cpp/inc/bond/protocol
compact_binary.h
fast_binary.h
582:619 (6%)
414:451 (10%)
view
26 x 2 java/core/src/main/java/org/bondlib
java/core/src/main/java/org/bondlib
TaggedProtocolStreamBonded.java
UntaggedProtocolStreamBonded.java
20:60 (63%)
20:60 (63%)
view
21 x 2 java/core/src/main/java/org/bondlib
java/core/src/main/java/org/bondlib
StructBondType.java
StructBondType.java
2208:2240 (1%)
2321:2353 (1%)
view
21 x 2 java/core/src/main/java/org/bondlib
java/core/src/main/java/org/bondlib
StructBondType.java
StructBondType.java
2258:2290 (1%)
2372:2404 (1%)
view
20 x 2 cs/src/core/protocols
cs/src/core/protocols
CompactBinary.cs
FastBinary.cs
302:353 (6%)
204:254 (6%)
view
20 x 2 java/core/src/main/java/org/bondlib
java/core/src/main/java/org/bondlib
CompactBinaryReader.java
FastBinaryReader.java
221:255 (9%)
201:235 (10%)
view
20 x 2 cpp/inc/bond/core
cpp/inc/bond/core
nullable.h
nullable.h
142:186 (6%)
359:416 (6%)
view
19 x 2 java/core/src/main/java/org/bondlib
java/core/src/main/java/org/bondlib
CompactBinaryReader.java
FastBinaryReader.java
267:295 (9%)
240:268 (10%)
view
18 x 2 cs/src/core/protocols
cs/src/core/protocols
CompactBinary.cs
FastBinary.cs
845:868 (5%)
694:717 (6%)
view
18 x 2 cpp/inc/bond/protocol
cpp/inc/bond/protocol
compact_binary.h
fast_binary.h
456:481 (4%)
352:377 (7%)
view
17 x 2 java/core/src/main/java/org/bondlib
java/core/src/main/java/org/bondlib
VarUIntHelper.java
VarUIntHelper.java
68:92 (9%)
113:137 (9%)
view
Duplicated Units
The list of top 20 duplicated units.
See data for all 38 unit duplicates...
Size#FoldersFilesLinesCode
50 x 2 cs/src/core/io
cs/src/io/unsafe
IntegerHelper.cs
IntegerHelper.cs
267:327 
180:240 
view
49 x 2 cs/src/core/io
cs/src/io/unsafe
IntegerHelper.cs
IntegerHelper.cs
152:211 
65:124 
view
26 x 2 cs/src/core/io
cs/src/io/unsafe
IntegerHelper.cs
IntegerHelper.cs
234:265 
147:178 
view
24 x 2 cs/src/core/io
cs/src/io/unsafe
IntegerHelper.cs
IntegerHelper.cs
77:106 
34:63 
view
17 x 2 java/core/src/main/java/org/bondlib
java/core/src/main/java/org/bondlib
ListBondType.java
VectorBondType.java
170:188 
176:194 
view
16 x 2 cs/src/core/io/safe
cs/src/io/unsafe
InputBuffer.cs
InputPointer.cs
237:253 
248:264 
view
14 x 2 cs/src/core/io
cs/src/io/unsafe
IntegerHelper.cs
IntegerHelper.cs
34:51 
15:32 
view
14 x 2 java/core/src/main/java/org/bondlib
java/core/src/main/java/org/bondlib
CompactBinaryReader.java
FastBinaryReader.java
277:293 
250:266 
view
13 x 2 java/core/src/main/java/org/bondlib
java/core/src/main/java/org/bondlib
ListBondType.java
VectorBondType.java
191:207 
197:213 
view
11 x 2 cs/src/core/protocols
cs/src/core/protocols
CompactBinary.cs
FastBinary.cs
891:903 
753:765 
view
11 x 2 java/core/src/main/java/org/bondlib
java/core/src/main/java/org/bondlib
SpecificTypeObjectBonded.java
WildcardTypeObjectBonded.java
42:56 
50:64 
view
11 x 2 java/json/src/main/java/org/bondlib
java/json/src/main/java/org/bondlib
SimpleJsonReader.java
SimpleJsonReader.java
391:402 
405:416 
view
9 x 2 cpp/inc/bond/core
cpp/inc/bond/core
exception.h
exception.h
200:209 
213:222 
view
9 x 2 java/core/src/main/java/org/bondlib
java/core/src/main/java/org/bondlib
CompactBinaryReader.java
SimpleBinaryReader.java
18:29 
17:28 
view
9 x 2 java/core/src/main/java/org/bondlib
java/core/src/main/java/org/bondlib
Int16BondType.java
UInt16BondType.java
169:179 
169:179 
view
9 x 2 java/core/src/main/java/org/bondlib
java/core/src/main/java/org/bondlib
Int32BondType.java
UInt32BondType.java
169:179 
169:179 
view
9 x 2 java/core/src/main/java/org/bondlib
java/core/src/main/java/org/bondlib
Int64BondType.java
UInt64BondType.java
169:179 
169:179 
view
9 x 2 java/core/src/main/java/org/bondlib
java/core/src/main/java/org/bondlib
Int8BondType.java
UInt8BondType.java
169:179 
169:179 
view
9 x 2 java/core/src/main/java/org/bondlib
java/core/src/main/java/org/bondlib
SpecificTypeObjectBonded.java
WildcardTypeObjectBonded.java
81:92 
92:103 
view
9 x 2 java/core/src/main/java/org/bondlib
java/core/src/main/java/org/bondlib
Throw.java
Throw.java
160:169 
172:181 
view