microsoft / IIS.WebManager
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
  • 16% duplication:
    • 27,193 cleaned lines of cleaned code (without empty lines, comments, and frequently duplicated constructs such as imports)
    • 4,353 duplicated lines
  • 572 duplicates
system16% (4,353 lines)
Duplication per Extension
ts14% (3,590 lines)
css35% (655 lines)
ps114% (96 lines)
yml16% (12 lines)
Duplication per Component (primary)
src/app/webserver20% (3,033 lines)
src/themes40% (655 lines)
src/app/files10% (282 lines)
src/app/common4% (154 lines)
src/app/resources16% (96 lines)
src/app/settings10% (38 lines)
src/app/main6% (32 lines)
src/app/connect5% (30 lines)
src/app/runtime2% (14 lines)
ROOT7% (12 lines)
src/app/certificates1% (7 lines)
src/app/diagnostics0% (0 lines)
src/app/environments0% (0 lines)
src/app/error0% (0 lines)
src/app/header0% (0 lines)
src/app0% (0 lines)
src/app/notification0% (0 lines)
src/app/utils0% (0 lines)
src/app/versioning0% (0 lines)
src0% (0 lines)

Duplication Between Components (50+ lines)

G src/app/files src/app/files src/app/webserver src/app/webserver src/app/files--src/app/webserver 581 src/app/settings src/app/settings src/app/settings--src/app/webserver 96

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 572 duplicates...
Size#FoldersFilesLinesCode
62 x 2 src/themes
src/themes
themes.blue.css
themes.wac.css
176:256 (30%)
182:262 (29%)
view
51 x 2 src/themes
src/themes
themes.black.css
themes.purple.css
133:197 (31%)
140:205 (31%)
view
47 x 2 src/themes
src/themes
themes.blue.css
themes.wac.css
109:169 (23%)
115:175 (22%)
view
44 x 2 src/app/webserver/url-rewrite/inbound-rules
src/app/webserver/url-rewrite/outbound-rules
inbound-rule-settings.ts
outbound-rule-settings.ts
57:114 (30%)
56:113 (30%)
view
43 x 2 src/app/webserver/http-response-headers
src/app/webserver/http-response-headers
custom-headers.component.ts
redirect-headers.component.ts
85:153 (37%)
84:153 (38%)
view
41 x 2 src/app/webserver/url-rewrite/service
src/app/webserver/url-rewrite/service
global.service.ts
inbound.service.ts
102:160 (37%)
121:185 (34%)
view
36 x 2 src/themes
src/themes
themes.blue.css
themes.wac.css
1:45 (17%)
1:45 (17%)
view
29 x 2 src/themes
src/themes
themes.blue.css
themes.purple.css
133:169 (14%)
89:125 (17%)
view
29 x 2 src/themes
src/themes
themes.purple.css
themes.wac.css
89:125 (17%)
139:175 (13%)
view
28 x 2 src/themes
src/themes
themes.blue.css
themes.wac.css
73:107 (13%)
78:112 (13%)
view
24 x 2 src/app/webserver/logging
src/app/webserver/request-tracing
log-file.component.ts
trace-file.component.ts
35:65 (33%)
41:71 (30%)
view
22 x 2 src/themes
src/themes
themes.black.css
themes.purple.css
30:55 (13%)
33:58 (13%)
view
22 x 2 src/themes
src/themes
themes.blue.css
themes.wac.css
47:73 (10%)
47:73 (10%)
view
22 x 2 src/app/webserver/url-rewrite/inbound-rules
src/app/webserver/url-rewrite/outbound-rules
inbound-rule-settings.ts
outbound-rule-settings.ts
118:150 (15%)
117:149 (15%)
view
21 x 2 src/app/common
src/app/common
switch.component.ts
text-toggle.component.ts
174:210 (12%)
65:101 (26%)
view
20 x 2 src/themes
src/themes
themes.black.css
themes.wac.css
133:157 (12%)
191:215 (9%)
view
20 x 2 src/themes
src/themes
themes.blue.css
themes.purple.css
185:209 (9%)
140:164 (12%)
view
20 x 2 src/themes
src/themes
themes.black.css
themes.blue.css
133:157 (12%)
185:209 (9%)
view
20 x 2 src/themes
src/themes
themes.purple.css
themes.wac.css
140:164 (12%)
191:215 (9%)
view
18 x 2 src/app/webserver/request-tracing
src/app/webserver/request-tracing
provider.component.ts
rule.component.ts
32:49 (17%)
68:85 (9%)
view
Duplicated Units
The list of top 20 duplicated units.
See data for all 24 unit duplicates...
Size#FoldersFilesLinesCode
14 x 2 src/app/webserver/http-response-headers
src/app/webserver/http-response-headers
custom-headers.component.ts
redirect-headers.component.ts
119:134 
118:133 
view
13 x 2 src/app/webserver/url-rewrite/service
src/app/webserver/url-rewrite/service
global.service.ts
inbound.service.ts
128:143 
147:168 
view
13 x 2 src/app/webserver/url-rewrite/service
src/app/webserver/url-rewrite/service
global.service.ts
inbound.service.ts
145:161 
170:186 
view
12 x 3 src/app/webserver/authorization
src/app/webserver/request-tracing
src/app/webserver/static-content
authorization.component.ts
request-tracing.component.ts
static-content.component.ts
102:114 
203:215 
101:113 
view
12 x 7 src/app/webserver/compression
src/app/webserver/default-documents
src/app/webserver/directory-browsing
src/app/webserver/ip-restrictions
src/app/webserver/logging
src/app/webserver/request-filtering
src/app/webserver/url-rewrite
compression.component.ts
default-documents.component.ts
directory-browsing.component.ts
ip-restrictions.component.ts
logging.component.ts
request-filtering.component.ts
url-rewrite.component.ts
143:155 
111:123 
124:136 
164:176 
144:156 
146:158 
71:83 
view
11 x 2 src/app/common
src/app/common
switch.component.ts
text-toggle.component.ts
188:202 
79:93 
view
11 x 2 src/app/webserver/http-response-headers
src/app/webserver/http-response-headers
custom-headers.component.ts
redirect-headers.component.ts
136:149 
135:149 
view
10 x 3 src/app/webserver/request-tracing
src/app/webserver/webapps
src/app/webserver/websites
provider.component.ts
webapp-general.component.ts
website-general.component.ts
149:159 
97:110 
106:119 
view
9 x 2 src/app/common
src/app/common
filter.pipe.ts
sort.pipe.ts
36:47 
49:60 
view
9 x 2 src/app/files
src/app/webserver/files
file-list.ts
webfile-list.ts
421:431 
336:346 
view
9 x 2 src/app/webserver/mime-maps
src/app/webserver/request-filtering
mime-maps-list.component.ts
file-extensions.component.ts
119:130 
128:139 
view
9 x 2 src/app/webserver/url-rewrite/service
src/app/webserver/url-rewrite/service
global.service.ts
inbound.service.ts
59:71 
58:70 
view
9 x 2 src/app/webserver/url-rewrite/service
src/app/webserver/url-rewrite/service
global.service.ts
inbound.service.ts
115:126 
134:145 
view
8 x 2 src/app/common
src/app/common
bmodel.ts
bmodel.ts
108:116 
153:161 
view
8 x 2 src/app/files
src/app/webserver/files
file-list.ts
webfile-list.ts
314:323 
238:247 
view
8 x 2 src/app/files
src/app/webserver/files
file-list.ts
webfile-list.ts
501:510 
406:415 
view
8 x 4 src/app/webserver/authentication
src/app/webserver/authentication
src/app/webserver/authentication
src/app/webserver/authentication
anon-auth.component.ts
basic-auth.component.ts
digest-auth.component.ts
win-auth.component.ts
60:70 
72:82 
67:77 
72:82 
view
8 x 3 src/app/webserver/request-tracing
src/app/webserver/request-tracing
src/app/webserver/vdirs
provider-list.component.ts
rule-list.component.ts
vdir-list.component.ts
73:82 
77:86 
413:422 
view
8 x 2 src/app/webserver/url-rewrite/service
src/app/webserver/url-rewrite/service
global.service.ts
inbound.service.ts
105:113 
124:132 
view
7 x 2 src/app/files
src/app/webserver/files
file-list.ts
webfile-list.ts
473:484 
378:389 
view