microsoft / ajaxmin
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
  • 7% duplication:
    • 30,543 cleaned lines of cleaned code (without empty lines, comments, and frequently duplicated constructs such as imports)
    • 2,422 duplicated lines
  • 507 duplicates
system7% (2,422 lines)
Duplication per Extension
cs8% (2,422 lines)
Duplication per Component (primary)
AjaxMinDll8% (1,952 lines)
DllUnitTest12% (157 lines)
JSUnitTest5% (94 lines)
AjaxMinTask7% (90 lines)
AjaxMin3% (71 lines)
CssUnitTest6% (32 lines)
JavaScriptOnlyDll70% (7 lines)
AjaxMinStub53% (7 lines)
AjaxMinDll200520% (6 lines)
AjaxMinTask200866% (6 lines)
AjaxMin20050% (0 lines)
AjaxMinDll20080% (0 lines)
Deployment0% (0 lines)
ROOT0% (0 lines)
Setup0% (0 lines)

Duplication Between Components (50+ lines)

G CssUnitTest CssUnitTest JSUnitTest JSUnitTest CssUnitTest--JSUnitTest 126 DllUnitTest DllUnitTest DllUnitTest--JSUnitTest 91

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 507 duplicates...
Size#FoldersFilesLinesCode
30 x 2 AjaxMinDll/JavaScript
AjaxMinDll/JavaScript
LogicalNotVisitor.cs
LogicalNotVisitor.cs
140:180 (13%)
248:290 (13%)
view
30 x 2 AjaxMinDll/JavaScript
AjaxMinDll/JavaScript
JSONOutputVisitor.cs
V3SourceMap.cs
643:684 (9%)
511:552 (13%)
view
24 x 2 AjaxMinTask
AjaxMinTask
AjaxMinBuildTask.cs
AjaxMinManifestTask.cs
1227:1255 (3%)
331:359 (15%)
view
21 x 2 AjaxMinDll/JavaScript
AjaxMinDll/JavaScript
EvaluateLiteralVisitor.cs
EvaluateLiteralVisitor.cs
1349:1393 (2%)
1487:1531 (2%)
view
21 x 2 AjaxMinDll/JavaScript
AjaxMinDll/JavaScript
EvaluateLiteralVisitor.cs
EvaluateLiteralVisitor.cs
1418:1462 (2%)
1546:1590 (2%)
view
19 x 2 AjaxMinDll
AjaxMinDll
CssEncoderFallback.cs
JSEncoderFallback.cs
166:225 (36%)
146:205 (41%)
view
19 x 2 AjaxMinDll/JavaScript
AjaxMinDll/JavaScript
ImportExportStatement.cs
astlist.cs
167:207 (22%)
278:318 (15%)
view
19 x 2 AjaxMinDll/JavaScript
AjaxMinDll/JavaScript
AnalyzeNodeVisitor.cs
AnalyzeNodeVisitor.cs
2329:2379 (1%)
2408:2458 (1%)
view
18 x 2 AjaxMinDll/JavaScript
AjaxMinDll/JavaScript
OutputVisitor.cs
OutputVisitor.cs
2248:2281 (<1%)
3048:3081 (<1%)
view
16 x 2 AjaxMinDll/JavaScript
AjaxMinDll/JavaScript
jsparser.cs
jsparser.cs
3560:3585 (<1%)
3596:3621 (<1%)
view
14 x 2 AjaxMinDll/Css
AjaxMinDll/Css
CssParser.cs
CssParser.cs
3909:3933 (<1%)
3984:4008 (<1%)
view
14 x 2 AjaxMinDll/JavaScript
AjaxMinDll/JavaScript
LogicalNotVisitor.cs
LogicalNotVisitor.cs
186:221 (6%)
292:327 (6%)
view
13 x 2 CssUnitTest/Common
JSUnitTest/Common
TestHelper.cs
TestHelper.cs
340:361 (11%)
900:921 (10%)
view
12 x 2 AjaxMinDll/JavaScript
AjaxMinDll/JavaScript
jsparser.cs
jsparser.cs
3543:3564 (<1%)
3779:3803 (<1%)
view
12 x 2 AjaxMinDll/JavaScript
AjaxMinDll/JavaScript
return.cs
throw.cs
34:61 (63%)
35:62 (63%)
view
12 x 2 AjaxMinDll/JavaScript
AjaxMinDll/JavaScript
OutputVisitor.cs
OutputVisitor.cs
1571:1592 (<1%)
2146:2168 (<1%)
view
12 x 2 AjaxMinDll/JavaScript
AjaxMinDll/JavaScript
LogicalNotVisitor.cs
binaryop.cs
156:167 (5%)
299:310 (6%)
view
12 x 2 AjaxMinDll/JavaScript
AjaxMinDll/JavaScript
LogicalNotVisitor.cs
binaryop.cs
266:277 (5%)
299:310 (6%)
view
12 x 2 AjaxMinDll/JavaScript
AjaxMinDll/JavaScript
ccelif.cs
ccif.cs
35:62 (60%)
35:62 (60%)
view
11 x 2 AjaxMinDll/Css
AjaxMinDll/JavaScript
CssScanner.cs
jsscanner.cs
212:223 (<1%)
604:615 (<1%)
view
Duplicated Units
The list of top 20 duplicated units.
See data for all 38 unit duplicates...
Size#FoldersFilesLinesCode
24 x 2 AjaxMinDll/JavaScript
AjaxMinDll/JavaScript
OutputVisitor.cs
OutputVisitor.cs
589:620 
1356:1386 
view
20 x 2 AjaxMinDll/JavaScript
AjaxMinDll/JavaScript
EvaluateLiteralVisitor.cs
EvaluateLiteralVisitor.cs
2096:2119 
2132:2155 
view
20 x 2 AjaxMinDll/JavaScript
AjaxMinDll/JavaScript
ImportExportStatement.cs
astlist.cs
167:189 
278:300 
view
16 x 2 AjaxMinDll/JavaScript
AjaxMinDll/JavaScript
OutputVisitor.cs
OutputVisitor.cs
978:996 
1010:1028 
view
16 x 2 AjaxMinDll/JavaScript
AjaxMinDll/JavaScript
ScriptSharpSourceMap.cs
V3SourceMap.cs
245:265 
435:455 
view
13 x 2 AjaxMinDll/JavaScript
AjaxMinDll/JavaScript
RequiresSeparatorVisitor.cs
RequiresSeparatorVisitor.cs
327:340 
625:638 
view
13 x 2 AjaxMinDll/JavaScript
AjaxMinDll/JavaScript
ResolutionVisitor.cs
TreeVisitor.cs
1341:1355 
466:480 
view
13 x 2 AjaxMinDll/JavaScript
AjaxMinDll/JavaScript
ResolutionVisitor.cs
TreeVisitor.cs
1574:1588 
619:633 
view
13 x 2 AjaxMinDll/JavaScript
AjaxMinDll/JavaScript
ResolutionVisitor.cs
TreeVisitor.cs
1590:1604 
635:649 
view
12 x 2 AjaxMinDll/JavaScript
AjaxMinDll/JavaScript
TreeVisitor.cs
TreeVisitor.cs
269:281 
493:505 
view
12 x 2 CssUnitTest/Common
JSUnitTest/Common
TestHelper.cs
TestHelper.cs
340:352 
900:912 
view
11 x 2 AjaxMin
AjaxMin
MainClass.cs
ManifestUtilities.cs
1345:1359 
721:735 
view
11 x 2 AjaxMinDll/JavaScript
AjaxMinDll/JavaScript
OutputVisitor.cs
OutputVisitor.cs
1407:1418 
2881:2892 
view
11 x 2 AjaxMinDll/JavaScript
AjaxMinDll/JavaScript
ResolutionVisitor.cs
ResolutionVisitor.cs
1516:1531 
1625:1640 
view
11 x 2 DllUnitTest
DllUnitTest
JSEncoding.cs
JSEncoding.cs
32:48 
51:67 
view
10 x 2 AjaxMinDll/JavaScript
AjaxMinDll/JavaScript
OutputVisitor.cs
OutputVisitor.cs
964:976 
998:1008 
view
10 x 2 AjaxMinDll/JavaScript
AjaxMinDll/JavaScript
ResolutionVisitor.cs
ResolutionVisitor.cs
1264:1275 
1685:1696 
view
9 x 2 AjaxMinDll
AjaxMinDll
CssEncoderFallback.cs
JSEncoderFallback.cs
127:141 
113:127 
view
9 x 2 AjaxMinDll/JavaScript
AjaxMinDll/JavaScript
BindingsVisitor.cs
BindingsVisitor.cs
129:138 
169:178 
view
9 x 2 AjaxMinDll/JavaScript
AjaxMinDll/JavaScript
ResolutionVisitor.cs
TreeVisitor.cs
804:813 
168:177 
view