golang / website
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:
    • 78,254 cleaned lines of cleaned code (without empty lines, comments, and frequently duplicated constructs such as imports)
    • 9,290 duplicated lines
  • 2,005 duplicates
system11% (9,290 lines)
Duplication per Extension
go23% (6,976 lines)
html4% (1,694 lines)
js8% (327 lines)
css2% (173 lines)
yaml9% (74 lines)
java54% (46 lines)
Duplication per Component (primary)
_content/talks45% (6,350 lines)
_content/blog22% (1,340 lines)
_content/doc2% (839 lines)
internal/backport5% (285 lines)
_content/tour6% (108 lines)
_content/js7% (93 lines)
_content/css2% (83 lines)
_later/security47% (50 lines)
internal/tmplfunc19% (41 lines)
internal/blog10% (18 lines)
internal/gitfs2% (16 lines)
cmd/events5% (12 lines)
internal/history1% (12 lines)
internal/web1% (10 lines)
internal/pkgdoc1% (10 lines)
internal/codewalk2% (9 lines)
cmd/golangorg1% (7 lines)
cmd/admingolangorg21% (7 lines)
cmd/googlegolangorg0% (0 lines)
cmd/screentest0% (0 lines)
cmd/versionprune0% (0 lines)
cmd/locktrigger0% (0 lines)
tour0% (0 lines)
ROOT0% (0 lines)
_content0% (0 lines)
_content/lib0% (0 lines)
_content/learn0% (0 lines)
internal/play0% (0 lines)
internal/webtest0% (0 lines)
internal/tour0% (0 lines)
internal/redirect0% (0 lines)
internal/dl0% (0 lines)
internal/screentest0% (0 lines)
internal/env0% (0 lines)
internal/short0% (0 lines)
internal/api0% (0 lines)
internal/spec0% (0 lines)
internal/talks0% (0 lines)
internal/memcache0% (0 lines)
internal/texthtml0% (0 lines)

Duplication Between Components (50+ lines)

G _content/talks _content/talks internal/backport internal/backport _content/talks--internal/backport 151 _content/blog _content/blog _content/blog--_content/talks 98 _content/js _content/js _content/js--_content/talks 84 _content/doc _content/doc _content/doc--_content/talks 75

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 2,005 duplicates...
Size#FoldersFilesLinesCode
299 x 2 _content/talks/2013/advconc/dedupermain
_content/talks/2013/advconc/fakemain
dedupermain.go
fakemain.go
15:527 (96%)
14:526 (96%)
view
296 x 2 _content/talks/2013/advconc/fakemain
_content/talks/2013/advconc/naivemain
fakemain.go
naivemain.go
14:518 (95%)
15:519 (87%)
view
296 x 2 _content/talks/2013/advconc/dedupermain
_content/talks/2013/advconc/naivemain
dedupermain.go
naivemain.go
15:519 (95%)
15:519 (87%)
view
275 x 2 _content/talks/2013/advconc/fakemain
_content/talks/2013/advconc/realmain
fakemain.go
realmain.go
14:484 (88%)
16:486 (81%)
view
275 x 2 _content/talks/2013/advconc/dedupermain
_content/talks/2013/advconc/realmain
dedupermain.go
realmain.go
15:485 (88%)
16:486 (81%)
view
275 x 2 _content/talks/2013/advconc/naivemain
_content/talks/2013/advconc/realmain
naivemain.go
realmain.go
15:485 (80%)
16:486 (81%)
view
87 x 2 _content/talks/2013/distsys
_content/talks/2013/distsys
replread.go
replwrite.go
13:148 (96%)
13:148 (97%)
view
80 x 2 _content/talks/2010/io
_content/talks/2010/io
eval1.go
eval2.go
19:131 (52%)
19:131 (45%)
view
65 x 2 _content/talks/2010/io
_content/talks/2012/waza
balance.go
balance.go
38:132 (62%)
31:125 (63%)
view
52 x 2 _content/talks/2012/chat/both
_content/talks/2012/chat/markov
chat.go
chat.go
42:118 (75%)
26:102 (88%)
view
48 x 2 _content/talks/2013/distsys
_content/talks/2013/distsys
addr2.go
addr4.go
17:91 (90%)
22:96 (84%)
view
47 x 2 _content/talks/2013/distsys
_content/talks/2014/research2
addr1.go
addr1.go
11:82 (100%)
11:82 (100%)
view
47 x 2 _content/talks/2013/highperf/mart/1
_content/talks/2013/highperf/mart/2
mart.go
mart.go
21:92 (62%)
22:94 (61%)
view
45 x 2 _content/talks/2013/distsys
_content/talks/2014/research2
addr5.go
addr2.go
28:97 (77%)
22:91 (84%)
view
45 x 2 _content/talks/2013/distsys
_content/talks/2014/research2
addr4.go
addr2.go
27:96 (78%)
22:91 (84%)
view
45 x 2 _content/talks/2013/distsys
_content/talks/2014/research2
addr2.go
addr2.go
22:91 (84%)
22:91 (84%)
view
45 x 2 _content/talks/2013/distsys
_content/talks/2013/distsys
addr4.go
addr5.go
27:96 (78%)
28:97 (77%)
view
45 x 2 _content/talks/2013/distsys
_content/talks/2013/distsys
addr2.go
addr5.go
22:91 (84%)
28:97 (77%)
view
45 x 2 _content/talks/2013/oscon-dl
_content/talks/2013/oscon-dl
server-compose.go
sizereaderat.go
42:115 (76%)
14:87 (100%)
view
44 x 2 _content/talks/2013/distsys
_content/talks/2013/distsys
addr1.go
addr3.go
17:82 (93%)
26:91 (83%)
view
Duplicated Units
The list of top 20 duplicated units.
See data for all 137 unit duplicates...
Size#FoldersFilesLinesCode
56 x 4 _content/talks/2013/advconc/naivemain
_content/talks/2013/advconc/dedupermain
_content/talks/2013/advconc/realmain
_content/talks/2013/advconc/fakemain
naivemain.go
dedupermain.go
realmain.go
fakemain.go
244:307 
244:307 
245:308 
243:306 
view
43 x 4 _content/talks/2013/advconc/naivemain
_content/talks/2013/advconc/dedupermain
_content/talks/2013/advconc/realmain
_content/talks/2013/advconc/fakemain
naivemain.go
dedupermain.go
realmain.go
fakemain.go
190:239 
190:239 
191:240 
189:238 
view
35 x 2 _content/blog/survey2016
_content/blog/survey2017
mkhtml.go
mkhtml.go
24:60 
40:76 
view
33 x 4 _content/talks/2013/advconc/naivemain
_content/talks/2013/advconc/dedupermain
_content/talks/2013/advconc/realmain
_content/talks/2013/advconc/fakemain
naivemain.go
dedupermain.go
realmain.go
fakemain.go
145:187 
145:187 
146:188 
144:186 
view
32 x 2 _content/talks/2013/oscon-dl
_content/talks/2013/oscon-dl
server-compose.go
sizereaderat.go
76:116 
48:88 
view
27 x 4 _content/talks/2013/advconc/naivemain
_content/talks/2013/advconc/dedupermain
_content/talks/2013/advconc/realmain
_content/talks/2013/advconc/fakemain
naivemain.go
dedupermain.go
realmain.go
fakemain.go
364:394 
364:394 
365:395 
363:393 
view
24 x 4 _content/talks/2013/advconc/naivemain
_content/talks/2013/advconc/dedupermain
_content/talks/2013/advconc/realmain
_content/talks/2013/advconc/fakemain
naivemain.go
dedupermain.go
realmain.go
fakemain.go
452:476 
452:476 
453:477 
451:475 
view
21 x 4 _content/talks/2013/advconc/naivemain
_content/talks/2013/advconc/dedupermain
_content/talks/2013/advconc/realmain
_content/talks/2013/advconc/fakemain
naivemain.go
dedupermain.go
realmain.go
fakemain.go
96:120 
96:120 
97:121 
95:119 
view
21 x 2 _content/talks/2013/distsys
_content/talks/2013/distsys
replread.go
replwrite.go
83:107 
83:107 
view
21 x 2 _content/talks/2013/distsys
_content/talks/2013/distsys
replread.go
replwrite.go
109:134 
109:134 
view
21 x 2 _content/blog/pipelines
_content/blog/pipelines
sqdone2.go
sqdone1.go
36:64 
36:66 
view
20 x 3 _content/talks/2012/tutorial
_content/talks/2012/tutorial/reddit
_content/talks/2012/tutorial
4method.go
reddit.go
3func.go
50:70 
33:53 
36:56 
view
20 x 3 _content/talks/2012/tutorial/reddit
_content/talks/2012/tutorial
_content/talks/2012/tutorial
reddit.go
4method.go
3func.go
33:53 
50:70 
36:56 
view
20 x 4 _content/talks/2014/taste
_content/talks/2014/taste
_content/talks/2014/taste
_content/talks/2014/taste
walk.go
histo.go
histop.go
histo0.go
13:35 
18:40 
18:40 
16:38 
view
18 x 2 _content/blog/pipelines
_content/blog/pipelines
sqleak.go
sqfan.go
38:62 
38:62 
view
17 x 2 _content/talks/2010/io
_content/talks/2010/io
eval2.go
eval1.go
189:206 
180:197 
view
17 x 2 _content/talks/2011/lex
internal/backport/text/template/parse
r59-lex.go
lex.go
387:404 
632:649 
view
16 x 2 _content/talks/2010/io
_content/talks/2010/io
eval2.go
eval1.go
50:67 
50:67 
view
16 x 2 _content/talks/2013/distsys
_content/talks/2013/distsys
replread.go
replwrite.go
40:58 
40:58 
view
15 x 2 _content/talks/2017/state-of-go/runtime
_content/talks/2016/state-of-go/runtime
mapcrash.go
crash.go
10:26 
10:26 
view