Online and CHM
Quality Configuration
Quality Check Options
Extensions Violation Config Name Default Maximum Value
* Deep Nested Call MaxNestedCall 3
* Duplicate String Literal MaxDuplicateStrings 3
* File Too Big MaxFileLength 500
* Method Too Big MaxMethodLength 50
* Too Many Parameters MaxParameters 5
* Too Much Nesting MaxNesting 4
.c Method too Complex MaxCyclomaticComplexity 21
.cpp,.cxx,.cc,.ixx Method too Complex MaxCyclomaticComplexity 21
.cs Don't throw base Exception CSharpMaxThrowBaseException 0
.cs Don't use goto CSharpMaxGoToStatements 0
.cs Don't use lock(this) CSharpMaxLockThis 0
.cs Method too Complex MaxCyclomaticComplexity 21
.cs Rethrow detected CSharpMaxRethrow 0
.cs throw new NotImplementedException detected CSharpMaxNotImplementedException 0
.go Method too Complex MaxCyclomaticComplexity 21
.java Method too Complex MaxCyclomaticComplexity 21
.js Method too Complex MaxCyclomaticComplexity 21
.kt Method too Complex MaxCyclomaticComplexity 21
.php Method too Complex MaxCyclomaticComplexity 21
.py Method too Complex MaxCyclomaticComplexity 21
.ts Method too Complex MaxCyclomaticComplexity 21

 

Example Usage

//Trial Mode
QualityLogic quality = new QualityLogic();
 
//Licensed Mode
//QualityLogic quality = new QualityLogic("User Name from Receipt", "License Key from Receipt");
 
//Disable all quality checks
quality.DisableAllQualityChecks();
 
//Re-enable just the cyclomatic complexity
//https://en.wikipedia.org/wiki/Cyclomatic_complexity
const int cyclomaticComplexityHard = 21;
quality.Config.SetConfig("MaxCyclomaticComplexity", cyclomaticComplexityHard);
 
//Test using this open source project:  https://github.com/GregFinzer/Compare-Net-Objects
QualityResult qualityResult =
quality.GetQualityViolationsForDirectory(@"c:\_git\Compare-Net-Objects\Compare-Net-Objects");
 
//Export the results to an HTML Report
string htmlReportFilePath = Path.Combine(Environment.CurrentDirectory, "QualityResult.html");
quality.ExportViolationsToHtmlReportFile(qualityResult, TemplateName.BlackAndBlue, htmlReportFilePath);