microsoft / PhoneticMatching
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
  • 8% duplication:
    • 5,442 cleaned lines of cleaned code (without empty lines, comments, and frequently duplicated constructs such as imports)
    • 447 duplicated lines
  • 31 duplicates
system8% (447 lines)
Duplication per Extension
hpp22% (259 lines)
ts14% (65 lines)
cpp3% (62 lines)
gyp15% (45 lines)
cs<1% (16 lines)
Duplication per Component (primary)
src/maluuba/speech11% (283 lines)
ts36% (53 lines)
ROOT15% (45 lines)
src/maluuba14% (38 lines)
src/cs/Microsoft.PhoneticMatching1% (16 lines)
ts/matchers5% (12 lines)
src/cs/PhoneticMatchingPerfTests0% (0 lines)
src/cs/PhoneticMatchingTests0% (0 lines)
src/cs/nuget0% (0 lines)
src/maluuba/unicode0% (0 lines)
src/maluuba/xtd0% (0 lines)
ts/distance0% (0 lines)
ts/nlp0% (0 lines)

Duplication Between Components (50+ lines)

G src/maluuba/speech src/maluuba/speech ts ts src/maluuba/speech--ts 106

Download: SVG DOT (open online Graphviz editor)

Open 3D force graph...

Show more details on duplication between components...
Longest Duplicates
The list of 20 longest duplicates.
See data for all 31 duplicates...
Size#FoldersFilesLinesCode
24 x 2 src/maluuba/speech
src/maluuba/speech
fuzzymatcher.hpp
fuzzymatcher.hpp
136:197 (17%)
272:333 (17%)
view
19 x 2 src/maluuba
src/maluuba
vptree.hpp
vptree.hpp
225:253 (10%)
290:319 (10%)
view
17 x 2 src/maluuba/speech
ts
pronunciation.hpp
maluuba.ts
56:72 (13%)
183:199 (11%)
view
14 x 2 src/maluuba/speech
ts
pronunciation.hpp
maluuba.ts
79:92 (10%)
208:221 (9%)
view
14 x 2 src/maluuba/speech/nodejs
src/maluuba/speech/nodejs
fuzzymatcher.hpp
fuzzymatcher.hpp
354:368 (4%)
397:411 (4%)
view
14 x 2 src/maluuba/speech/nodejs
src/maluuba/speech/nodejs
fuzzymatcher.hpp
fuzzymatcher.hpp
440:455 (4%)
490:505 (4%)
view
12 x 2 ROOT
ROOT
gyp
binding.gyp
binding.gyp
96:107 (4%)
125:136 (4%)
view
10 x 2 src/maluuba/speech/nodejs/enpronunciation
src/maluuba/speech/nodejs/enpronunciation
enpronunciation.cpp
enpronunciation.cpp
136:146 (7%)
182:192 (7%)
view
9 x 2 src/maluuba/speech/nodejs
src/maluuba/speech/nodejs
fuzzymatcher.hpp
fuzzymatcher.hpp
110:119 (2%)
182:190 (2%)
view
9 x 2 src/maluuba/speech/nodejs/enpronouncer
src/maluuba/speech/nodejs/enpronunciation
enpronouncer.cpp
enpronunciation.cpp
58:69 (15%)
119:130 (6%)
view
9 x 2 ROOT
ROOT
gyp
binding.gyp
binding.gyp
66:74 (3%)
125:133 (3%)
view
9 x 2 ROOT
ROOT
gyp
binding.gyp
binding.gyp
66:74 (3%)
96:104 (3%)
view
9 x 2 src/maluuba/speech/nodejs
src/maluuba/speech/nodejs
fuzzymatcher.hpp
fuzzymatcher.hpp
150:159 (2%)
184:193 (2%)
view
8 x 2 src/maluuba/speech/nodejs
src/maluuba/speech/nodejs
fuzzymatcher.hpp
fuzzymatcher.hpp
113:120 (2%)
219:226 (2%)
view
8 x 2 src/cs/Microsoft.PhoneticMatching/Distance
src/cs/Microsoft.PhoneticMatching/Distance
EnPhoneticDistance.cs
StringDistance.cs
33:49 (26%)
33:49 (26%)
view
8 x 2 src/maluuba/speech
ts
pronunciation.hpp
maluuba.ts
99:106 (6%)
230:237 (5%)
view
8 x 2 src/maluuba/speech
ts
pronunciation.hpp
maluuba.ts
42:49 (6%)
167:174 (5%)
view
8 x 2 src/maluuba/speech/nodejs
src/maluuba/speech/nodejs
fuzzymatcher.hpp
fuzzymatcher.hpp
149:156 (2%)
218:225 (2%)
view
7 x 2 src/maluuba/speech/nodejs
src/maluuba/speech/nodejs
fuzzymatcher.hpp
fuzzymatcher.hpp
113:119 (2%)
150:156 (2%)
view
7 x 2 src/maluuba/speech/nodejs
src/maluuba/speech/nodejs
fuzzymatcher.hpp
fuzzymatcher.hpp
184:190 (2%)
219:225 (2%)
view