Dependency Graph

Online documentation:

Dependency Matrix

Online documentation:

Visualizing Code Metrics through Treemaping

With the Online documentation, understand how Treemaping can help you see patterns in your code base, that would be hard to spot with other ways.

Abstractness versus Instability Diagram

The Abstractness versus Instability Diagram helps to detect which assemblies are potentially painful to maintain (i.e concrete and stable) and which assemblies are potentially useless (i.e abstract and instable).

Online documentation:

For beginners: Where to start

Code queries and rules results are truncated to list a maximum of 100 code elements in this report

Does this report gets too large?

Quick Tips

Main
Main \ Rules
Main \ Quality Gates
Main \ Quality Gates \ Project Rules
Main \ Quality Gates \ Project Rules \ Quality Gates
Main \ Rules \ Project Rules
Main \ Rules \ Project Rules \ Code Smells
Main \ Rules \ Project Rules \ Object Oriented Design
Main \ Rules \ Project Rules \ Architecture
Main \ Rules \ Project Rules \ Visibility
Main \ Rules \ Project Rules \ Immutability
Main \ Rules \ Project Rules \ Naming Conventions
Main \ Rules \ Project Rules \ Source Files Organization
Main \ Rules \ Project Rules \ .NET Framework Usage
Main \ Rules \ Project Rules \ .NET Framework Usage \ System
Main \ Rules \ Project Rules \ .NET Framework Usage \ System.Globalization
Main \ Group of Queries \ Quality Gates
Main \ Group of Queries \ Hot Spots
Main \ Group of Queries \ Object Oriented Design
Main \ Group of Queries \ API Breaking Changes
Main \ Group of Queries \ Code Coverage
Main \ Group of Queries \ Dead Code
Main \ Group of Queries \ Code Diff Summary
Main \ Metrics \ Application Statistics
Main \ Metrics \ Assemblies Metrics
Main \ Metrics \ Namespaces Metrics
Main \ Metrics \ Types Metrics
Main \ Assemblies Dependencies
Main \ Namespaces Dependencies
Main \ Types Dependencies
Main \ Build Order
Main \ Analysis Log
Main \ Abstractness vs. Instability
Main \ Trend Charts
ndepend report summary application nameSqlWrangler-Review (v1.0.0.0)report build date07/21/2019 07:03:11analysis duration00:15ndepend version 2019.2.5   Professional Developer/Build-Machine Editionbaseline for comparisonCompare with analysis result obtained on 2019 July - 21 Sunday 06:51 (which is the analysis result with date closest to 30 days ago)code coverage data Not Defined. To import Code Coverage Data, please read this online documentation.
Get started.Quick tips.Back to NDepend. The present HTML report is a summary of data gathered by the analysis.
It is recommended to use the NDepend interactive UI capabilities
to make the most of NDepend by mastering all aspects of your code.

Diagrams

.NET Assemblies Dependency Graph
Dependency Graph
View as ?fullscaled
.NET Assemblies Dependency Matrix
Dependency Matrix
View as ?fullscaled
Treemap View
Treemap Metric View
View as ?fullscaled
Abstractness versus Instability
Abstractness vs. Instability

Application Metrics

Note: Further Application Statistics are available.
# Lines of Code
1 535      no diff
635   (NotMyCode)      no diff
Estimated Dev Effort   33d      no diff
# Types
15      no diff
2   Assemblies      no diff
3   Namespaces      no diff
102   Methods      no diff
80   Fields      no diff
21   Source Files      no diff
673   Third-Party Elements      no diff
Comment
23.4%      no diff
469   Lines of Comment      no diff
Debt
6.82%      no diff
Rating   B   4h 49min effort to reach  A
Debt   2d 2h      no diff
The technical-debt is incomplete because no coverage data specified.      
CoverageN/A because no coverage data specified
Method Complexity
11   Max      no diff
2.27   Average      no diff
Quality Gates
Fail1
Warn0
Pass7
Rules
Critical3
Violated21
Ok119
Issues
All109
Blocker0
Critical0
High13
Medium74
Low22
Suppressed0

Quality Gates summary

1001
graphHelp Some Quality Gates fail. The build
can be stopped upon quality gate
failure. Online documentation.
graphHelp Quality Gates that measure diff cannot
be run on the baseline. Hence they
have blank trend and baseline value.
NameTrendBaseline ValueValueGroup
warning   Percentage Coverage
warningN/A because no coverage dataProject Rules \ Quality Gates
warning   Percentage Coverage on New Code
warningN/A because no coverage dataProject Rules \ Quality Gates
warning   Percentage Coverage on Refactored Code
warningN/A because no coverage dataProject Rules \ Quality Gates
warning   Blocker Issues
okwarning0 issueswarning0 issuesProject Rules \ Quality Gates
warning   Critical Issues
okwarning0 issueswarning0 issuesProject Rules \ Quality Gates
warning   New Blocker / Critical / High Issues
warning0 issuesProject Rules \ Quality Gates
warningCritical   Critical Rules Violated
okwarningCritical3 ruleswarningCritical3 rulesProject Rules \ Quality Gates
warning   Percentage Debt
okwarning6.82 %warning6.82 %Project Rules \ Quality Gates
warning   New Debt since Baseline
warning0 man-daysProject Rules \ Quality Gates
warning   Debt Rating per Namespace
okwarning0 namespaceswarning0 namespacesProject Rules \ Quality Gates
warning   New Annual Interest since Baseline
warning0 man-daysProject Rules \ Quality Gates

Rules summary

131183
  • Number of Rules or Queries with Error (syntax error, exception thrown, time-out): 0
  • Number of Rules violated: 21
graphHelp Rules can be checked live at
development-time, from within Visual
Studio. Online documentation.
graphHelp Rules that rely on diff cannot be
run on the baseline. Hence they
have blank # Issues Fixed or Added.
Name# IssuesAddedFixedElementsGroup
warningCritical   Avoid types too big
100 typeProject Rules \ Code Smells
warning   Avoid types with too many methods
100 typeProject Rules \ Code Smells
warningCritical   Avoid methods too big, too complex
100 methodProject Rules \ Code Smells
warning   Avoid methods potentially poorly commented
1300 methodsProject Rules \ Code Smells
warning   Avoid types with poor cohesion
300 typesProject Rules \ Code Smells
warning   Class with no descendant should be sealed if possible
100 typeProject Rules \ Object Oriented Design
warning   Methods should be declared static if possible
800 methodsProject Rules \ Object Oriented Design
warning   UI layer shouldn't use directly DB types
600 typesProject Rules \ Architecture
warning   UI layer shouldn't use directly DAL layer
500 typesProject Rules \ Architecture
warning   Methods that could have a lower visibility
300 methodsProject Rules \ Visibility
warning   Types that could be declared as private, nested in a parent type
100 typeProject Rules \ Visibility
warning   Fields should be declared as private
200 fieldsProject Rules \ Visibility
warning   Avoid public methods not publicly visible
1800 methodsProject Rules \ Visibility
warning   Fields should be marked as ReadOnly when possible
600 fieldsProject Rules \ Immutability
warningCritical   Avoid non-readonly static fields
100 fieldProject Rules \ Immutability
warning   Instance fields naming convention
100 fieldProject Rules \ Naming Conventions
warning   Methods name should begin with an Upper character
3200 methodsProject Rules \ Naming Conventions
warning   Avoid methods with name too long
100 methodProject Rules \ Naming Conventions
warning   Avoid defining multiple types in a source file
300 typesProject Rules \ Source Files Organization
warning   Do not raise too general exception types
100 methodProject Rules \ .NET Framework Usage \ System
warning   Float and Date Parsing must be culture aware
100 methodProject Rules \ .NET Framework Usage \ System.Globalization

Application Statistics

Stat # Occurences Avg StdDev Max
Properties on interfaces interfaces 00-1 properties on
Methods on interfaces interfaces 00-1 methods on
Arguments on methods on interfaces methods 00-1 arguments on
Public properties on classes 15 Classes 1.872.479 public properties on SqlWrangler.FieldDefinition
Public methods on classes 15 classes 4.474.9419 public methods on SqlWrangler.FieldDefinition
Arguments on public methods on classes 67 methods 0.550.724 arguments on SqlWrangler.Wizard.WriteCsWizard(DataTable,StreamWriter,String,String)
IL instructions in non-abstract methods 176 methods 52.68120.341256 IL instructions in SqlWrangler.SqlClient.InitializeComponent()
Cyclomatic complexity on non abstract Methods 176 Methods 3.14.07 CC = 25 for SqlWrangler.DataRowComparerViewer.ToggleMenuItems()

Assemblies Metrics

If you wish to define thresholds on assemblies' Code Metrics, consider writing some Rules.
Clicking column header arrows sorts values.
Clicking column header title text redirect to the online Code Metric definition.
Assemblies # lines of code# IL instruction # Types # Abstract Types # lines of comment% Comment% CoverageAfferent CouplingEfferent CouplingRelational CohesionInstabilityAbstractnessDistance
SqliteTools v1.0.0.076541305943.7-13410.9700.02
SqlWrangler v1.0.0.01459873114041021.94-02001.57100

If you wish to define thresholds on types' Code Metrics, consider writing some Rule.
Clicking column header arrows sorts values.
Clicking column header title text redirect to the online Code Metric definition.

Types Metrics : Code Quality

Type Name Type Rank# Lines Of Code# IL Instructions# Lines Of Comment% CommentCyclomatic ComplexityIL Cyclomatic Complexity% CoverageAfferent CouplingEfferent Coupling Type Namespace
FrmLogin2.0320511275019.613545-274SqlWrangler
Resources1.36372175258.432020-614SqlWrangler.Properties
DataUpdateMode0.8--121000--22SqliteTools
SqliteTypes0.5817715011-117SqliteTools
MapperAttributeType0.57--0-0--12SqlWrangler
FieldDefinition0.571867001819-17SqlWrangler
Settings0.551298001213-212SqlWrangler.Properties
TextSnippet0.444180045-25SqlWrangler
Table0.37754642927.883145-128SqliteTools
SqlClient0.35469297911219.2897145-1128SqlWrangler
FrmMain0.331106363725.172635-159SqlWrangler
RowComparerResult0.314180045-17SqlWrangler
FrmNameInput0.24623182629.551112-133SqlWrangler
FrmExportSql0.241307763923.082535-153SqlWrangler
Wizard0.24172105952.824969-128SqlWrangler
DataRowComparerViewer0.2423314084415.885796-176SqlWrangler
Program0.1531035011-07SqlWrangler


  

Types Metrics : Code Members and Inheritance

Type Name # Instance Methods Nb Static Methods Nb Properties # Fields# Children ClassesDepth Of Inheritance Tree Type Namespace
FrmLogin11001207SqlWrangler
Resources11817201SqlWrangler.Properties
DataUpdateMode------SqliteTools
SqliteTypes010101SqliteTools
MapperAttributeType------SqlWrangler
FieldDefinition1909901SqlWrangler
Settings1126103SqlWrangler.Properties
TextSnippet502201SqlWrangler
Table1203201SqliteTools
SqlClient33023107SqlWrangler
FrmMain16021107SqlWrangler
RowComparerResult502201SqlWrangler
FrmNameInput801607SqlWrangler
FrmExportSql9011007SqlWrangler
Wizard1000101SqlWrangler
DataRowComparerViewer14001407SqlWrangler
Program010001SqlWrangler


  

Types Metrics : Lack Of Cohesion Of Methods and Association Between Classes

Type Name Lack Of Cohesion Of MethodsLack Of Cohesion Of Methods HSAssociation Between Classes Type Namespace
FrmLogin0.820.9115SqlWrangler
Resources005SqlWrangler.Properties
DataUpdateMode--0SqliteTools
SqliteTypes003SqliteTools
MapperAttributeType--0SqlWrangler
FieldDefinition001SqlWrangler
Settings004SqlWrangler.Properties
TextSnippet001SqlWrangler
Table0036SqliteTools
SqlClient0.930.96248SqlWrangler
FrmMain0.880.9680SqlWrangler
RowComparerResult001SqlWrangler
FrmNameInput0.730.8842SqlWrangler
FrmExportSql0.730.8579SqlWrangler
Wizard0.80.8961SqlWrangler
DataRowComparerViewer0.790.85134SqlWrangler
Program004SqlWrangler

Namespaces Metrics

If you wish to define thresholds on namespaces' Code Metrics, consider writing some Code Rules.
Clicking column header arrows sorts values.
Clicking column header title text redirect to the online Code Metric definition.
Namespaces # lines of code# IL instruction # Types # lines of comment% Comment% CoverageAfferent CouplingEfferent Coupling
SqliteTools7654134235.59-18
SqlWrangler141084161231618.31-033
SqlWrangler.Properties4931525954.63-110

1001This group contains children groups
Project Rules  

    1001
    Quality Gates  

    ok   Quality Gate Pass:    Percentage Coverage

    Scalar Result: N/A %

    ok   Quality Gate Pass:    Percentage Coverage on New Code

    Scalar Result: N/A %

    ok   Quality Gate Pass:    Percentage Coverage on Refactored Code

    Scalar Result: N/A %

    ok   Quality Gate Pass:    Blocker Issues

    No issue matched

    ok   Quality Gate Pass:    Critical Issues

    No issue matched

    ok   Quality Gate Pass:    New Blocker / Critical / High Issues

    No issue matched

    ok   Quality Gate Fail:    Critical Rules Violated

    3 rules matched

    3 rulesissuesFull Name
    Avoid types too big01 issueRule
    Avoid methods too big, too complex11 issueRule
    Avoid non-readonly static fields21 issueRule

    Statistics

    Stat   issues
    Sum:3
    Average:1
    Minimum:1
    Maximum:1
    Standard deviation:0
    Variance:0
    ok   Quality Gate Pass:    Percentage Debt

    Scalar Result: 6.82 %

    ok   Quality Gate Pass:    New Debt since Baseline

    Scalar Result: 0 man-days

    ok   Quality Gate Pass:    Debt Rating per Namespace

    No namespace matched

    ok   Quality Gate Pass:    New Annual Interest since Baseline

    Scalar Result: 0 man-days

    000
    Rules extracted from Source Code  

      131183This group contains children groups
      Project Rules  

        332
        Code Smells  

        warningCritical   Critical Rule Violated:    Avoid types too big

        1 type matched

        • Formatting: bold means added, underlined means code was changed, strike-bold means removed (since baseline)
        1 typelocJustMyCode# IL instructionsMethodsFieldsDebtAnnual InterestFull Name
        SqlClient024602 979032 methods031 fields01h 13min05minSqlWrangler.SqlClient
        warning   Rule Violated:    Avoid types with too many methods

        1 type matched

        • Formatting: bold means added, underlined means code was changed, strike-bold means removed (since baseline)
        1 typenbMethodsinstanceMethodsstaticMethods# lines of code (LOC)DebtAnnual InterestFull Name
        SqlClient028028 methods0no method046901h 24min07minSqlWrangler.SqlClient
        warningCritical   Critical Rule Violated:    Avoid methods too big, too complex

        1 method matched

        • Formatting: bold means added, underlined means code was changed, strike-bold means removed (since baseline)
        1 method# lines of code (LOC)Cyclomatic Complexity (CC)IL Cyclomatic Complexity (ILCC)IL Nesting DepthcomplexityScoreDebtAnnual InterestFull Name
        ToggleMenuItems()03601102503046059min05minSqlWrangler.DataRowComparerViewer .ToggleMenuItems()
        warning   Rule Violated:    Avoid methods potentially poorly commented

        13 methods matched

        • Formatting: bold means added, underlined means code was changed, strike-bold means removed (since baseline)
        13 methodsPercentage Comment# lines of code (LOC)# lines of commentnbLinesOfCodeNotCommentedDebtAnnual InterestFull Name
        CreateNhSessionFactory(String)018.1600450040041004min 6s1110minSqlWrangler.FrmLogin .CreateNhSessionFactory(String)
        ToggleMenuItems()08001360900136013min 36s0216minSqlWrangler.DataRowComparerViewer .ToggleMenuItems()
        BuildSnippetMenu()07002300700230023min 0s0316minSqlWrangler.SqlClient.BuildSnippetMenu()
        WriteCsWizard(DataTable,StreamWriter ,String,String)09004281200328032min 48s0516minSqlWrangler.Wizard.WriteCsWizard (DataTable,StreamWriter,String,String)
        WriteModelClass(DataTable,StreamWriter ,IEnumerable<FieldDefinition> ,MapperAttributeType)11005270800527052min 42s0016minSqlWrangler.Wizard.WriteModelClass (DataTable,StreamWriter,IEnumerable <FieldDefinition>,MapperAttributeType)
        GetFields(DataTableReader)063.4503280410427042min 42s0613minSqlWrangler.Wizard.GetFields (DataTableReader)
        WriteMaterializer(DataTable,StreamWriter ,IEnumerable<FieldDefinition>)053.5706270510626062min 36s0713minSqlWrangler.Wizard.WriteMaterializer (DataTable,StreamWriter,IEnumerable <FieldDefinition>)
        Compare(DataRow,DataTable,String)036.907270120725072min 30s0911minSqlWrangler.DataRowComparerViewer .Compare(DataRow,DataTable,String)
        SaveExternalFile(Boolean)10010241100924092min 24s0116minSqlWrangler.SqlClient.SaveExternalFile (Boolean)
        WriteMappings(DataTable,StreamWriter ,IEnumerable<FieldDefinition>)043.8509250610824082min 24s0813minSqlWrangler.Wizard.WriteMappings (DataTable,StreamWriter,IEnumerable <FieldDefinition>)
        GenerateInsertSql(DataRow)027.4108250321023102min 18s1010minSqliteTools.Table.GenerateInsertSql (DataRow)
        WizardToolStripMenuItem1_Click(Object ,EventArgs)12012221001122112min 12s0416minSqlWrangler.SqlClient .WizardToolStripMenuItem1_Click(Object ,EventArgs)
        GetSnippets()008.3311220221220122min 0s1210minSqlWrangler.FrmMain.GetSnippets()
        warning   Rule Violated:    Avoid types with poor cohesion

        3 types matched

        • Formatting: bold means added, underlined means code was changed, strike-bold means removed (since baseline)
        3 typesLack of Cohesion Of Methods (LCOM)# Methods# FieldspoorCohesionScoreDebtAnnual InterestFull Name
        SqlClient00.93033031011.94041min014minSqlWrangler.SqlClient
        FrmMain10.8811621117.67118min16minSqlWrangler.FrmMain
        FrmLogin20.8221111225.2126min22min 22sSqlWrangler.FrmLogin

        1220
        Object Oriented Design  

        warning   Rule Violated:    Class with no descendant should be sealed if possible

        1 type matched

        • Formatting: bold means added, underlined means code was changed, strike-bold means removed (since baseline)
        1 type# lines of code (LOC)DebtSeverityFull Name
        FieldDefinition01800min 30s0MediumSqlWrangler.FieldDefinition
        warning   Rule Violated:    Methods should be declared static if possible

        8 methods matched

        • Formatting: bold means added, underlined means code was changed, strike-bold means removed (since baseline)
        8 methodsstaticFieldsUsedmethodsCallingMeDebtSeverityFull Name
        IsString(Type)2no field41 method41min 0s2MediumSqliteTools.Table.IsString(Type)
        IsDateTime(Type)3no field31 method31min 0s3MediumSqliteTools.Table.IsDateTime(Type)
        ExportSql(FileInfo,DataTable,String ,String,Boolean,Boolean)0no field21 method21min 0s0MediumSqlWrangler.FrmExportSql.ExportSql (FileInfo,DataTable,String,String ,Boolean,Boolean)
        CreateNhSessionFactory(String)1no field12 methods11min 30s1MediumSqlWrangler.FrmLogin .CreateNhSessionFactory(String)
        GetExcelConnectionString(String)6no field61 method61min 0s6MediumSqlWrangler.FrmLogin .GetExcelConnectionString(String)
        WriteLinq2DbField(StreamWriter ,FieldDefinition,String)7no field51 method51min 0s7MediumSqlWrangler.Wizard.WriteLinq2DbField (StreamWriter,FieldDefinition,String)
        WriteEntityFrameworkField(StreamWriter ,FieldDefinition,String)4no field71 method71min 0s4MediumSqlWrangler.Wizard .WriteEntityFrameworkField(StreamWriter ,FieldDefinition,String)
        GetFieldName(String)5no field04 methods02min 30s5MediumSqlWrangler.Wizard.GetFieldName(String)

        620
        Architecture  

        warning   Rule Violated:    UI layer shouldn't use directly DB types

        6 types matched

        • Formatting: bold means added, underlined means code was changed, strike-bold means removed (since baseline)
        6 typesdbTypesAndMembersUsedDebtSeverityFull Name
        DataRowComparerViewer24 types 5 methods21h 0min2HighSqlWrangler.DataRowComparerViewer
        FrmExportSql42 types 1 method524min1HighSqlWrangler.FrmExportSql
        FrmLogin017 types 16 methods 1 field02h 36min0HighSqlWrangler.FrmLogin
        FrmMain51 type 2 methods428min5HighSqlWrangler.FrmMain
        SqlClient110 types 8 methods 1 field11h 48min4HighSqlWrangler.SqlClient
        Wizard34 types 2 methods336min3HighSqlWrangler.Wizard
        warning   Rule Violated:    UI layer shouldn't use directly DAL layer

        5 types matched

        • Formatting: bold means added, underlined means code was changed, strike-bold means removed (since baseline)
        5 typesdalTypesAndMembersUsedDebtSeverityFull Name
        FrmExportSql11 type 4 methods232min1HighSqlWrangler.FrmExportSql
        FrmLogin21 type 3 methods132min0HighSqlWrangler.FrmLogin
        FrmMain32 types 2 methods328min2HighSqlWrangler.FrmMain
        SqlClient03 types 4 methods048min4HighSqlWrangler.SqlClient
        Program41 type 1 method420min3HighSqlWrangler.Program

        640
        Visibility  

        warning   Rule Violated:    Methods that could have a lower visibility

        3 methods matched

        • Formatting: bold means added, underlined means code was changed, strike-bold means removed (since baseline)
        3 methodsVisibilityCouldBeDeclaredMethodsCallingMeDebtSeverityFull Name
        get_TableName()0Public0Private0no method00min 30s0MediumSqlWrangler.FieldDefinition .get_TableName()
        get_TableSchema()1Public1Private1no method10min 30s1MediumSqlWrangler.FieldDefinition .get_TableSchema()
        get_ClassName()2Public2Private2no method20min 30s2MediumSqlWrangler.FieldDefinition .get_ClassName()
        warning   Rule Violated:    Types that could be declared as private, nested in a parent type

        1 type matched

        • Formatting: bold means added, underlined means code was changed, strike-bold means removed (since baseline)
        1 typecouldBeNestedInDebtSeverityFull Name
        FieldDefinitionWizard03min 0s0LowSqlWrangler.FieldDefinition
        warning   Rule Violated:    Fields should be declared as private

        2 fields matched

        • Formatting: bold means added, underlined means code was changed, strike-bold means removed (since baseline)
        2 fieldsVisibilityoutsideMethodsAssigningMeDebtAnnual InterestFull Name
        Types0Public0no method01min 0s06minSqliteTools.SqliteTypes.Types
        Snippets1Public1no method11min 0s16minSqlWrangler.FrmMain.Snippets
        warning   Rule Violated:    Avoid public methods not publicly visible

        18 methods matched

        • Formatting: bold means added, underlined means code was changed, strike-bold means removed (since baseline)
        18 methodsparentTypeVisibilitydeclareMethodAsmethodsCallerDebtSeverityFull Name
        get_TableName()06Internal02Private15no method060min 30s06LowSqlWrangler.FieldDefinition .get_TableName()
        set_TableName(String)05Internal07Internal071 method050min 30s05LowSqlWrangler.FieldDefinition .set_TableName(String)
        get_TableSchema()08Internal00Private17no method080min 30s08LowSqlWrangler.FieldDefinition .get_TableSchema()
        set_TableSchema(String)07Internal08Internal081 method070min 30s07LowSqlWrangler.FieldDefinition .set_TableSchema(String)
        get_ClassName()04Internal01Private16no method040min 30s04LowSqlWrangler.FieldDefinition .get_ClassName()
        set_ClassName(String)01Internal03Internal061 method010min 30s01LowSqlWrangler.FieldDefinition .set_ClassName(String)
        get_Name()00Internal04Internal006 methods000min 30s00LowSqlWrangler.FieldDefinition.get_Name()
        set_Name(String)03Internal05Internal051 method030min 30s03LowSqlWrangler.FieldDefinition.set_Name (String)
        get_DbFieldName()02Internal06Internal016 methods020min 30s02LowSqlWrangler.FieldDefinition .get_DbFieldName()
        set_DbFieldName(String)15Internal15Internal141 method150min 30s15LowSqlWrangler.FieldDefinition .set_DbFieldName(String)
        get_Length()14Internal14Internal131 method140min 30s14LowSqlWrangler.FieldDefinition.get_Length()
        set_Length(Int32)17Internal17Internal121 method170min 30s17LowSqlWrangler.FieldDefinition.set_Length (Int32)
        get_AllowsNull()16Internal16Internal025 methods160min 30s16LowSqlWrangler.FieldDefinition .get_AllowsNull()
        set_AllowsNull(Boolean)13Internal11Internal101 method130min 30s13LowSqlWrangler.FieldDefinition .set_AllowsNull(Boolean)
        get_Type()10Internal10Internal033 methods100min 30s10LowSqlWrangler.FieldDefinition.get_Type()
        set_Type(String)09Internal13Internal111 method090min 30s09LowSqlWrangler.FieldDefinition.set_Type (String)
        get_IsShortBool()12Internal12Internal042 methods120min 30s12LowSqlWrangler.FieldDefinition .get_IsShortBool()
        set_IsShortBool(Boolean)11Internal09Internal091 method110min 30s11LowSqlWrangler.FieldDefinition .set_IsShortBool(Boolean)

        911
        Immutability  

        warning   Rule Violated:    Fields should be marked as ReadOnly when possible

        6 fields matched

        • Formatting: bold means added, underlined means code was changed, strike-bold means removed (since baseline)
        6 fieldsMethodsReadingMeButNotAssigningMeMethodsAssigningMeDebtSeverityFull Name
        components22 methods2no method25min2MediumSqlWrangler.DataRowComparerViewer .components
        components12 methods1no method15min1MediumSqlWrangler.FrmExportSql.components
        components02 methods0no method05min0MediumSqlWrangler.FrmLogin.components
        components52 methods5no method55min5MediumSqlWrangler.FrmMain.components
        components42 methods4no method45min4MediumSqlWrangler.FrmNameInput.components
        components32 methods3no method35min3MediumSqlWrangler.SqlClient.components
        warningCritical   Critical Rule Violated:    Avoid non-readonly static fields

        1 field matched

        • Formatting: bold means added, underlined means code was changed, strike-bold means removed (since baseline)
        1 fieldmethodAssigningFieldDebtSeverityFull Name
        Types0no method02min 0s0HighSqliteTools.SqliteTypes.Types

        Statistics

        Stat   methodAssigningField   Debt   Severity
        Sum:02min 0s-
        Average:02min 0s-
        Minimum:02min 0s-
        Maximum:02min 0s-
        Standard deviation:00min 0s-
        Variance:00min 0s-

        1730
        Naming Conventions  

        warning   Rule Violated:    Instance fields naming convention

        1 field matched

        • Formatting: bold means added, underlined means code was changed, strike-bold means removed (since baseline)
        1 fieldSize of instanceDebtSeverityFull Name
        Snippets0403min 0s0MediumSqlWrangler.FrmMain.Snippets
        warning   Rule Violated:    Methods name should begin with an Upper character

        32 methods matched

        • Formatting: bold means added, underlined means code was changed, strike-bold means removed (since baseline)
        32 methodsDebtSeverityFull Name
        dataGridView1_CellFormatting(Object ,DataGridViewCellFormattingEventArgs)103min 0s10MediumSqlWrangler.DataRowComparerViewer .dataGridView1_CellFormatting(Object ,DataGridViewCellFormattingEventArgs)
        dataGridView1_RowHeaderMouseClick(Object ,DataGridViewCellMouseEventArgs)113min 0s11MediumSqlWrangler.DataRowComparerViewer .dataGridView1_RowHeaderMouseClick (Object,DataGridViewCellMouseEventArgs)
        setKeyToolStripMenuItem_Click(Object ,EventArgs)083min 0s08MediumSqlWrangler.DataRowComparerViewer .setKeyToolStripMenuItem_Click(Object ,EventArgs)
        dataGridView1_ColumnHeaderMouseClick (Object,DataGridViewCellMouseEventArgs)093min 0s09MediumSqlWrangler.DataRowComparerViewer .dataGridView1_ColumnHeaderMouseClick (Object,DataGridViewCellMouseEventArgs)
        setCheckFieldsToolStripMenuItem_Click (Object,EventArgs)143min 0s14MediumSqlWrangler.DataRowComparerViewer .setCheckFieldsToolStripMenuItem_Click (Object,EventArgs)
        clearAllCheckFieldsToolStripMenuItem_Cli ck(Object,EventArgs)153min 0s15MediumSqlWrangler.DataRowComparerViewer .clearAllCheckFieldsToolStripMenuItem_Cl ick(Object,EventArgs)
        btnCancel_Click(Object,EventArgs)123min 0s12MediumSqlWrangler.FrmExportSql.btnCancel_Click (Object,EventArgs)
        btnOk_Click(Object,EventArgs)133min 0s13MediumSqlWrangler.FrmExportSql.btnOk_Click (Object,EventArgs)
        button1_Click(Object,EventArgs)023min 0s02MediumSqlWrangler.FrmLogin.button1_Click (Object,EventArgs)
        button2_Click(Object,EventArgs)033min 0s03MediumSqlWrangler.FrmLogin.button2_Click (Object,EventArgs)
        frmLogin_Load(Object,EventArgs)003min 0s00MediumSqlWrangler.FrmLogin.frmLogin_Load (Object,EventArgs)
        comboBox1_SelectedIndexChanged(Object ,EventArgs)013min 0s01MediumSqlWrangler.FrmLogin .comboBox1_SelectedIndexChanged(Object ,EventArgs)
        txtPassword_KeyDown(Object,KeyEventArgs)063min 0s06MediumSqlWrangler.FrmLogin.txtPassword_KeyDown (Object,KeyEventArgs)
        button3_Click(Object,EventArgs)073min 0s07MediumSqlWrangler.FrmLogin.button3_Click (Object,EventArgs)
        newToolStripMenuItem_Click_1(Object ,EventArgs)043min 0s04MediumSqlWrangler.FrmMain .newToolStripMenuItem_Click_1(Object ,EventArgs)
        frmMain_FormClosed(Object ,FormClosedEventArgs)053min 0s05MediumSqlWrangler.FrmMain.frmMain_FormClosed (Object,FormClosedEventArgs)
        frmMain_DragDrop(Object,DragEventArgs)263min 0s26MediumSqlWrangler.FrmMain.frmMain_DragDrop (Object,DragEventArgs)
        helpToolStripMenuItem_Click(Object ,EventArgs)273min 0s27MediumSqlWrangler.FrmMain .helpToolStripMenuItem_Click(Object ,EventArgs)
        aboutToolStripMenuItem_Click(Object ,EventArgs)243min 0s24MediumSqlWrangler.FrmMain .aboutToolStripMenuItem_Click(Object ,EventArgs)
        button1_Click(Object,EventArgs)253min 0s25MediumSqlWrangler.FrmNameInput.button1_Click (Object,EventArgs)
        button2_Click(Object,EventArgs)303min 0s30MediumSqlWrangler.FrmNameInput.button2_Click (Object,EventArgs)
        txtName_KeyPress(Object ,KeyPressEventArgs)313min 0s31MediumSqlWrangler.FrmNameInput .txtName_KeyPress(Object ,KeyPressEventArgs)
        executeToolStripMenuItem_Click(Object ,EventArgs)283min 0s28MediumSqlWrangler.SqlClient .executeToolStripMenuItem_Click(Object ,EventArgs)
        toCSVToolStripMenuItem_Click(Object ,EventArgs)293min 0s29MediumSqlWrangler.SqlClient .toCSVToolStripMenuItem_Click(Object ,EventArgs)
        textBox1_KeyUp_1(Object,KeyEventArgs)183min 0s18MediumSqlWrangler.SqlClient.textBox1_KeyUp_1 (Object,KeyEventArgs)
        toXMLToolStripMenuItem_Click(Object ,EventArgs)193min 0s19MediumSqlWrangler.SqlClient .toXMLToolStripMenuItem_Click(Object ,EventArgs)
        cancelToolStripMenuItem_Click(Object ,EventArgs)163min 0s16MediumSqlWrangler.SqlClient .cancelToolStripMenuItem_Click(Object ,EventArgs)
        toDaveSqlToolStripMenuItem_Click(Object ,EventArgs)173min 0s17MediumSqlWrangler.SqlClient .toDaveSqlToolStripMenuItem_Click(Object ,EventArgs)
        dataGridView1_DataError(Object ,DataGridViewDataErrorEventArgs)223min 0s22MediumSqlWrangler.SqlClient .dataGridView1_DataError(Object ,DataGridViewDataErrorEventArgs)
        toJSONToolStripMenuItem_Click(Object ,EventArgs)233min 0s23MediumSqlWrangler.SqlClient .toJSONToolStripMenuItem_Click(Object ,EventArgs)
        colorToolStripMenuItem_Click(Object ,EventArgs)203min 0s20MediumSqlWrangler.SqlClient .colorToolStripMenuItem_Click(Object ,EventArgs)
        compareRowsToolStripMenuItem_Click (Object,EventArgs)213min 0s21MediumSqlWrangler.SqlClient .compareRowsToolStripMenuItem_Click (Object,EventArgs)
        warning   Rule Violated:    Avoid methods with name too long

        1 method matched

        • Formatting: bold means added, underlined means code was changed, strike-bold means removed (since baseline)
        1 methodSimpleNameNameLengthDebtSeverityFull Name
        clearAllCheckFieldsToolStripMenuItem_Cli ck(Object,EventArgs)clearAllCheckFieldsToolStripMenuItem_Click04203min 0s0MediumSqlWrangler.DataRowComparerViewer .clearAllCheckFieldsToolStripMenuItem_Cl ick(Object,EventArgs)

        510
        Source Files Organization  

        warning   Rule Violated:    Avoid defining multiple types in a source file

        3 types matched

        • Formatting: bold means added, underlined means code was changed, strike-bold means removed (since baseline)
        3 typesTypesInSourceFileSourceFilePathStringDebtSeverityFull Name
        DataRowComparerViewer02 typesD:\src\SqlWrangler\SqlWrangler\SqlWrangler\DataRowComparerViewer.cs03min 0s0LowSqlWrangler.DataRowComparerViewer
        SqlClient12 typesD:\src\SqlWrangler\SqlWrangler\SqlWrangler\SqlClient.cs13min 0s1LowSqlWrangler.SqlClient
        Wizard22 typesD:\src\SqlWrangler\SqlWrangler\SqlWrangler\Wizard.cs23min 0s2LowSqlWrangler.Wizard

        2320This group contains children groups
        .NET Framework Usage  

          910
          System  

          warning   Rule Violated:    Do not raise too general exception types

          1 method matched

          • Formatting: bold means added, underlined means code was changed, strike-bold means removed (since baseline)
          1 methodexceptionsCreatedDebtSeverityFull Name
          GenerateInsertSql(DataRow)01 type020min0HighSqliteTools.Table.GenerateInsertSql (DataRow)

          010
          System.Globalization  

          warning   Rule Violated:    Float and Date Parsing must be culture aware

          1 method matched

          • Formatting: bold means added, underlined means code was changed, strike-bold means removed (since baseline)
          1 methodshouldntCallDebtAnnual InterestFull Name
          GenerateInsertSql(DataRow)01 method08min05minSqliteTools.Table.GenerateInsertSql (DataRow)

          Quality Gates

          ok   Code Query:    Quality Gates Evolution

          8 quality gates matched

          8 quality gatesEvolutionBaselineStatusStatusBaselineValueValueFull Name
          Blocker Issues41Pass3Pass0 issues0 issuesQuality Gate
          Critical Issues22Pass2Pass0 issues0 issuesQuality Gate
          New Blocker / Critical / High IssuesN/A7N/A1Pass0null0 issuesQuality Gate
          Critical Rules Violated10Fail0Fail3 rules3 rulesQuality Gate
          Percentage Debt03Pass7Pass6.82 %6.82 %Quality Gate
          New Debt since BaselineN/A6N/A6Pass7null0 man-daysQuality Gate
          Debt Rating per Namespace34Pass5Pass0 namespaces0 namespacesQuality Gate
          New Annual Interest since BaselineN/A5N/A4Pass5null0 man-daysQuality Gate

          Statistics

          Stat   Evolution   BaselineStatus   Status   BaselineValue   Value
          Sum:-----
          Average:-----
          Minimum:-----
          Maximum:-----
          Standard deviation:-----
          Variance:-----
          ok   Quality Gate Pass:    Percentage Coverage

          Scalar Result: N/A %

          ok   Quality Gate Pass:    Percentage Coverage on New Code

          Scalar Result: N/A %

          ok   Quality Gate Pass:    Percentage Coverage on Refactored Code

          Scalar Result: N/A %

          ok   Quality Gate Pass:    Blocker Issues

          No issue matched

          ok   Quality Gate Pass:    Critical Issues

          No issue matched

          ok   Quality Gate Pass:    New Blocker / Critical / High Issues

          No issue matched

          ok   Quality Gate Fail:    Critical Rules Violated

          3 rules matched

          3 rulesissuesFull Name
          Avoid types too big01 issueRule
          Avoid methods too big, too complex11 issueRule
          Avoid non-readonly static fields21 issueRule

          Statistics

          Stat   issues
          Sum:3
          Average:1
          Minimum:1
          Maximum:1
          Standard deviation:0
          Variance:0
          ok   Quality Gate Pass:    Percentage Debt

          Scalar Result: 6.82 %

          ok   Quality Gate Pass:    New Debt since Baseline

          Scalar Result: 0 man-days

          ok   Quality Gate Pass:    Debt Rating per Namespace

          No namespace matched

          ok   Quality Gate Pass:    New Annual Interest since Baseline

          Scalar Result: 0 man-days

          Hot Spots

          ok   Code Query:    Types Hot Spots

          11 types matched

          11 typesDebtIssuesAnnual InterestBreaking Point# lines of code (LOC)DebtRatingDebtRatioFull Name
          SqlClient006h 40min0120 issues002h 16min011 072d0046905B028.68SqlWrangler.SqlClient
          FrmLogin013h 43min0313 issues031h 10min001 155d0220501C0111.31SqlWrangler.FrmLogin
          DataRowComparerViewer022h 34min0213 issues041h 8min02818d0123303B056.81SqlWrangler.DataRowComparerViewer
          FrmMain031h 40min0412 issues021h 16min06479d0511004B048.47SqlWrangler.FrmMain
          FrmExportSql041h 8min066 issues0548min05517d0413002B065.25SqlWrangler.FrmExportSql
          Wizard0556min0510 issues011h 38min09210d0317207A083.57SqlWrangler.Wizard
          Table0632min075 issues0639min08296d067509A074.15SqliteTools.Table
          Program0720min101 issue0820min07365d09300D0046.3SqlWrangler.Program
          FrmNameInput0914min084 issues098min03638d076210A102.1SqlWrangler.FrmNameInput
          FieldDefinition0814min0023 issues108min04638d081808A093.45SqlWrangler.FieldDefinition
          SqliteTypes103min 0s092 issues0726min1042d10106B038.68SqliteTools.SqliteTypes

          Statistics

          Stat   Debt   Issues   Annual Interest   Breaking Point   # lines of code (LOC)   DebtRating   DebtRatio
          Sum:2d 2h1091d 2h6 234d1 478-108.76
          Average:1h 38min9.9154min566d134.36-9.89
          Minimum:3min 0s18min42d1-2.1
          Maximum:6h 40min232h 16min1 155d469-46.3
          Standard deviation:1h 55min6.8338min330d130.06-11.83
          Variance:1 667d46.63183doverflow16 916-139.86
          ok   Code Query:    Types to Fix Priority

          7 types matched

          7 typesBreaking PointDebtAnnual InterestIssues# lines of code (LOC)DebtRatingDebtRatioFull Name
          Wizard6210d556min11h 38min410 issues31725A63.57SqlWrangler.Wizard
          Table5296d632min639min65 issues6756A54.15SqliteTools.Table
          FrmMain4479d31h 40min21h 16min312 issues51102B28.47SqlWrangler.FrmMain
          FrmExportSql3517d41h 8min548min56 issues41301B45.25SqlWrangler.FrmExportSql
          DataRowComparerViewer2818d22h 34min41h 8min113 issues12334B36.81SqlWrangler.DataRowComparerViewer
          SqlClient11 072d06h 40min02h 16min020 issues04693B18.68SqlWrangler.SqlClient
          FrmLogin01 155d13h 43min31h 10min213 issues22050C011.31SqlWrangler.FrmLogin

          Statistics

          Stat   Breaking Point   Debt   Annual Interest   Issues   # lines of code (LOC)   DebtRating   DebtRatio
          Sum:4 550d2d 1h1d 0h791 394-48.23
          Average:650d2h 28min1h 16min11.29199.14-6.89
          Minimum:210d32min39min575-3.57
          Maximum:1 155d6h 40min2h 16min20469-11.31
          Standard deviation:343d1h 59min30min4.65121.23-2.58
          Variance:overflow1 784d112d21.6314 697-6.64
          ok   Code Query:    Issues to Fix Priority

          109 issues matched

          109 issuesDebtAnnual InterestBreaking PointCodeElementFull Name
          High issue on: SqliteTools.SqliteTypes.Types0742min 0s01220min08636dTypesRule violated: Avoid non-readonly static fields
          Medium issue on: SqlWrangler.SqlClient .WizardToolStripMenuItem1_Click(Object ,EventArgs)0722min 12s01816min08550dWizardToolStripMenuItem1_Click(Object,EventArgs)Rule violated: Avoid methods potentially poorly commented
          Medium issue on: SqlWrangler.SqlClient .SaveExternalFile(Boolean)0702min 24s01616min08454dSaveExternalFile(Boolean)Rule violated: Avoid methods potentially poorly commented
          Medium issue on: SqliteTools.SqliteTypes.Types0771min 0s0306min08360dTypesRule violated: Fields should be declared as private
          Medium issue on: SqlWrangler.FrmMain.Snippets0781min 0s0296min08260dSnippetsRule violated: Fields should be declared as private
          Medium issue on: SqlWrangler.Wizard .WriteModelClass(DataTable,StreamWriter ,IEnumerable<FieldDefinition> ,MapperAttributeType)0642min 42s01716min08161dWriteModelClass(DataTable,StreamWriter,IEnumerable<FieldDefinition>,MapperAttributeType)Rule violated: Avoid methods potentially poorly commented
          Medium issue on: SqlWrangler.Wizard .WriteCsWizard(DataTable,StreamWriter ,String,String)0632min 48s01516min08063dWriteCsWizard(DataTable,StreamWriter,String,String)Rule violated: Avoid methods potentially poorly commented
          Medium issue on: SqlWrangler.Wizard .WriteMappings(DataTable,StreamWriter ,IEnumerable<FieldDefinition>)0692min 24s02213min07965dWriteMappings(DataTable,StreamWriter,IEnumerable<FieldDefinition>)Rule violated: Avoid methods potentially poorly commented
          Medium issue on: SqlWrangler.SqlClient .BuildSnippetMenu()0523min 0s01316min07868dBuildSnippetMenu()Rule violated: Avoid methods potentially poorly commented
          Medium issue on: SqlWrangler.Wizard .WriteMaterializer(DataTable ,StreamWriter,IEnumerable <FieldDefinition>)0662min 36s02113min07770dWriteMaterializer(DataTable,StreamWriter,IEnumerable<FieldDefinition>)Rule violated: Avoid methods potentially poorly commented
          Medium issue on: SqlWrangler.FrmMain.GetSnippets()0732min 0s02610min07671dGetSnippets()Rule violated: Avoid methods potentially poorly commented
          Medium issue on: SqlWrangler.Wizard .GetFields(DataTableReader)0652min 42s02013min07572dGetFields(DataTableReader)Rule violated: Avoid methods potentially poorly commented
          Medium issue on: SqliteTools.Table .GenerateInsertSql(DataRow)0712min 18s02410min07477dGenerateInsertSql(DataRow)Rule violated: Avoid methods potentially poorly commented
          Medium issue on: SqlWrangler .DataRowComparerViewer.Compare(DataRow ,DataTable,String)0672min 30s02311min07381dCompare(DataRow,DataTable,String)Rule violated: Avoid methods potentially poorly commented
          Medium issue on: SqlWrangler .DataRowComparerViewer.ToggleMenuItems()0263min 36s01416min07282dToggleMenuItems()Rule violated: Avoid methods potentially poorly commented
          Medium issue on: SqlWrangler.FieldDefinition0920min 30s0482min 0s06891dFieldDefinitionRule violated: Class with no descendant should be sealed if possible
          Medium issue on: SqlWrangler .FieldDefinition.get_TableName()0910min 30s0492min 0s07191dget_TableName()Rule violated: Methods that could have a lower visibility
          Medium issue on: SqlWrangler .FieldDefinition.get_TableSchema()0940min 30s0502min 0s07091dget_TableSchema()Rule violated: Methods that could have a lower visibility
          Medium issue on: SqlWrangler .FieldDefinition.get_ClassName()0930min 30s0452min 0s06991dget_ClassName()Rule violated: Methods that could have a lower visibility
          Medium issue on: SqlWrangler.FrmLogin .CreateNhSessionFactory(String)0254min 6s02510min067145dCreateNhSessionFactory(String)Rule violated: Avoid methods potentially poorly commented
          Medium issue on: SqliteTools.Table.IsString(Type)0791min 0s0462min 0s062182dIsString(Type)Rule violated: Methods should be declared static if possible
          Medium issue on: SqliteTools.Table.IsDateTime(Type)0831min 0s0472min 0s064182dIsDateTime(Type)Rule violated: Methods should be declared static if possible
          Medium issue on: SqlWrangler .FrmExportSql.ExportSql(FileInfo ,DataTable,String,String,Boolean,Boolean )0811min 0s0542min 0s063182dExportSql(FileInfo,DataTable,String,String,Boolean,Boolean)Rule violated: Methods should be declared static if possible
          Medium issue on: SqlWrangler.FrmLogin .GetExcelConnectionString(String)0821min 0s0552min 0s066182dGetExcelConnectionString(String)Rule violated: Methods should be declared static if possible
          Medium issue on: SqlWrangler.Wizard .WriteLinq2DbField(StreamWriter ,FieldDefinition,String)0801min 0s0562min 0s065182dWriteLinq2DbField(StreamWriter,FieldDefinition,String)Rule violated: Methods should be declared static if possible
          Medium issue on: SqlWrangler.Wizard .WriteEntityFrameworkField(StreamWriter ,FieldDefinition,String)0761min 0s0512min 0s061182dWriteEntityFrameworkField(StreamWriter,FieldDefinition,String)Rule violated: Methods should be declared static if possible
          Medium issue on: SqlWrangler.FrmLogin .CreateNhSessionFactory(String)0751min 30s0522min 0s060273dCreateNhSessionFactory(String)Rule violated: Methods should be declared static if possible
          High issue on: SqlWrangler.Program01420min01020min058365dProgramRule violated: UI layer shouldn't use directly DAL layer
          High issue on: SqliteTools.Table .GenerateInsertSql(DataRow)01520min01120min059365dGenerateInsertSql(DataRow)Rule violated: Do not raise too general exception types
          High issue on: SqlWrangler.FrmExportSql01324min00620min057438dFrmExportSqlRule violated: UI layer shouldn't use directly DB types
          Medium issue on: SqlWrangler.Wizard.GetFieldName(String)0682min 30s0532min 0s056456dGetFieldName(String)Rule violated: Methods should be declared static if possible
          High issue on: SqlWrangler.FrmMain01228min00720min054511dFrmMainRule violated: UI layer shouldn't use directly DB types
          High issue on: SqlWrangler.FrmMain01128min00820min055511dFrmMainRule violated: UI layer shouldn't use directly DAL layer
          Medium issue on: SqlWrangler.FrmMain.Snippets0453min 0s0362min 0s039547dSnippetsRule violated: Instance fields naming convention
          Medium issue on: SqlWrangler.DataRowComparerViewer .dataGridView1_CellFormatting(Object ,DataGridViewCellFormattingEventArgs)0383min 0s0352min 0s033547ddataGridView1_CellFormatting(Object,DataGridViewCellFormattingEventArgs)Rule violated: Methods name should begin with an Upper character
          Medium issue on: SqlWrangler.DataRowComparerViewer .dataGridView1_RowHeaderMouseClick (Object,DataGridViewCellMouseEventArgs)0373min 0s0422min 0s034547ddataGridView1_RowHeaderMouseClick(Object,DataGridViewCellMouseEventArgs)Rule violated: Methods name should begin with an Upper character
          Medium issue on: SqlWrangler.DataRowComparerViewer .setKeyToolStripMenuItem_Click(Object ,EventArgs)0393min 0s0432min 0s035547dsetKeyToolStripMenuItem_Click(Object,EventArgs)Rule violated: Methods name should begin with an Upper character
          Medium issue on: SqlWrangler.DataRowComparerViewer .dataGridView1_ColumnHeaderMouseClick (Object,DataGridViewCellMouseEventArgs)0413min 0s0372min 0s030547ddataGridView1_ColumnHeaderMouseClick(Object,DataGridViewCellMouseEventArgs)Rule violated: Methods name should begin with an Upper character
          Medium issue on: SqlWrangler.DataRowComparerViewer .setCheckFieldsToolStripMenuItem_Click (Object,EventArgs)0403min 0s0412min 0s031547dsetCheckFieldsToolStripMenuItem_Click(Object,EventArgs)Rule violated: Methods name should begin with an Upper character
          Medium issue on: SqlWrangler.DataRowComparerViewer .clearAllCheckFieldsToolStripMenuItem_Cl ick(Object,EventArgs)0443min 0s0392min 0s032547dclearAllCheckFieldsToolStripMenuItem_Click(Object,EventArgs)Rule violated: Methods name should begin with an Upper character
          Medium issue on: SqlWrangler .FrmExportSql.btnCancel_Click(Object ,EventArgs)0423min 0s0402min 0s036547dbtnCancel_Click(Object,EventArgs)Rule violated: Methods name should begin with an Upper character
          Medium issue on: SqlWrangler .FrmExportSql.btnOk_Click(Object ,EventArgs)0433min 0s0442min 0s040547dbtnOk_Click(Object,EventArgs)Rule violated: Methods name should begin with an Upper character
          Medium issue on: SqlWrangler.FrmLogin .button1_Click(Object,EventArgs)0363min 0s0382min 0s041547dbutton1_Click(Object,EventArgs)Rule violated: Methods name should begin with an Upper character
          Medium issue on: SqlWrangler.FrmLogin .button2_Click(Object,EventArgs)0293min 0s0762min 0s042547dbutton2_Click(Object,EventArgs)Rule violated: Methods name should begin with an Upper character
          Medium issue on: SqlWrangler.FrmLogin .frmLogin_Load(Object,EventArgs)0303min 0s0772min 0s037547dfrmLogin_Load(Object,EventArgs)Rule violated: Methods name should begin with an Upper character
          Medium issue on: SqlWrangler.FrmLogin .comboBox1_SelectedIndexChanged(Object ,EventArgs)0283min 0s0782min 0s038547dcomboBox1_SelectedIndexChanged(Object,EventArgs)Rule violated: Methods name should begin with an Upper character
          Medium issue on: SqlWrangler.FrmLogin .txtPassword_KeyDown(Object,KeyEventArgs )0273min 0s0752min 0s023547dtxtPassword_KeyDown(Object,KeyEventArgs)Rule violated: Methods name should begin with an Upper character
          Medium issue on: SqlWrangler.FrmLogin .button3_Click(Object,EventArgs)0313min 0s0722min 0s026547dbutton3_Click(Object,EventArgs)Rule violated: Methods name should begin with an Upper character
          Medium issue on: SqlWrangler.FrmMain .newToolStripMenuItem_Click_1(Object ,EventArgs)0343min 0s0732min 0s024547dnewToolStripMenuItem_Click_1(Object,EventArgs)Rule violated: Methods name should begin with an Upper character
          Medium issue on: SqlWrangler.FrmMain .frmMain_FormClosed(Object ,FormClosedEventArgs)0503min 0s0742min 0s046547dfrmMain_FormClosed(Object,FormClosedEventArgs)Rule violated: Methods name should begin with an Upper character
          Medium issue on: SqlWrangler.FrmMain .frmMain_DragDrop(Object,DragEventArgs)0353min 0s0792min 0s021547dfrmMain_DragDrop(Object,DragEventArgs)Rule violated: Methods name should begin with an Upper character
          Medium issue on: SqlWrangler.FrmMain .helpToolStripMenuItem_Click(Object ,EventArgs)0323min 0s0842min 0s022547dhelpToolStripMenuItem_Click(Object,EventArgs)Rule violated: Methods name should begin with an Upper character
          Medium issue on: SqlWrangler.FrmMain .aboutToolStripMenuItem_Click(Object ,EventArgs)0333min 0s0852min 0s025547daboutToolStripMenuItem_Click(Object,EventArgs)Rule violated: Methods name should begin with an Upper character
          Medium issue on: SqlWrangler .FrmNameInput.button1_Click(Object ,EventArgs)0573min 0s0862min 0s028547dbutton1_Click(Object,EventArgs)Rule violated: Methods name should begin with an Upper character
          Medium issue on: SqlWrangler .FrmNameInput.button2_Click(Object ,EventArgs)0583min 0s0832min 0s029547dbutton2_Click(Object,EventArgs)Rule violated: Methods name should begin with an Upper character
          Medium issue on: SqlWrangler .FrmNameInput.txtName_KeyPress(Object ,KeyPressEventArgs)0553min 0s0802min 0s020547dtxtName_KeyPress(Object,KeyPressEventArgs)Rule violated: Methods name should begin with an Upper character
          Medium issue on: SqlWrangler.SqlClient .executeToolStripMenuItem_Click(Object ,EventArgs)0563min 0s0812min 0s027547dexecuteToolStripMenuItem_Click(Object,EventArgs)Rule violated: Methods name should begin with an Upper character
          Medium issue on: SqlWrangler.SqlClient .toCSVToolStripMenuItem_Click(Object ,EventArgs)0613min 0s0822min 0s053547dtoCSVToolStripMenuItem_Click(Object,EventArgs)Rule violated: Methods name should begin with an Upper character
          Medium issue on: SqlWrangler.SqlClient .textBox1_KeyUp_1(Object,KeyEventArgs)0623min 0s0612min 0s050547dtextBox1_KeyUp_1(Object,KeyEventArgs)Rule violated: Methods name should begin with an Upper character
          Medium issue on: SqlWrangler.SqlClient .toXMLToolStripMenuItem_Click(Object ,EventArgs)0593min 0s0622min 0s049547dtoXMLToolStripMenuItem_Click(Object,EventArgs)Rule violated: Methods name should begin with an Upper character
          Medium issue on: SqlWrangler.SqlClient .cancelToolStripMenuItem_Click(Object ,EventArgs)0603min 0s0632min 0s051547dcancelToolStripMenuItem_Click(Object,EventArgs)Rule violated: Methods name should begin with an Upper character
          Medium issue on: SqlWrangler.SqlClient .toDaveSqlToolStripMenuItem_Click(Object ,EventArgs)0493min 0s0602min 0s052547dtoDaveSqlToolStripMenuItem_Click(Object,EventArgs)Rule violated: Methods name should begin with an Upper character
          Medium issue on: SqlWrangler.SqlClient .dataGridView1_DataError(Object ,DataGridViewDataErrorEventArgs)0463min 0s0572min 0s048547ddataGridView1_DataError(Object,DataGridViewDataErrorEventArgs)Rule violated: Methods name should begin with an Upper character
          Medium issue on: SqlWrangler.SqlClient .toJSONToolStripMenuItem_Click(Object ,EventArgs)0473min 0s0582min 0s044547dtoJSONToolStripMenuItem_Click(Object,EventArgs)Rule violated: Methods name should begin with an Upper character
          Medium issue on: SqlWrangler.SqlClient .colorToolStripMenuItem_Click(Object ,EventArgs)0483min 0s0592min 0s043547dcolorToolStripMenuItem_Click(Object,EventArgs)Rule violated: Methods name should begin with an Upper character
          Medium issue on: SqlWrangler.SqlClient .compareRowsToolStripMenuItem_Click (Object,EventArgs)0533min 0s0642min 0s045547dcompareRowsToolStripMenuItem_Click(Object,EventArgs)Rule violated: Methods name should begin with an Upper character
          Medium issue on: SqlWrangler.DataRowComparerViewer .clearAllCheckFieldsToolStripMenuItem_Cl ick(Object,EventArgs)0543min 0s0692min 0s047547dclearAllCheckFieldsToolStripMenuItem_Click(Object,EventArgs)Rule violated: Avoid methods with name too long
          High issue on: SqlWrangler.FrmExportSql01032min00920min018584dFrmExportSqlRule violated: UI layer shouldn't use directly DAL layer
          High issue on: SqlWrangler.FrmLogin00932min00220min019584dFrmLoginRule violated: UI layer shouldn't use directly DAL layer
          Medium issue on: SqliteTools.Table .GenerateInsertSql(DataRow)0178min0335min017584dGenerateInsertSql(DataRow)Rule violated: Float and Date Parsing must be culture aware
          High issue on: SqlWrangler.Wizard00836min00120min016657dWizardRule violated: UI layer shouldn't use directly DB types
          High issue on: SqlWrangler.SqlClient00648min00020min015876dSqlClientRule violated: UI layer shouldn't use directly DAL layer
          Medium issue on: SqlWrangler .DataRowComparerViewer.components0235min0702min 0s010912dcomponentsRule violated: Fields should be marked as ReadOnly when possible
          Medium issue on: SqlWrangler.FrmExportSql.components0245min0712min 0s013912dcomponentsRule violated: Fields should be marked as ReadOnly when possible
          Medium issue on: SqlWrangler.FrmLogin.components0195min0682min 0s011912dcomponentsRule violated: Fields should be marked as ReadOnly when possible
          Medium issue on: SqlWrangler.FrmMain.components0205min0652min 0s009912dcomponentsRule violated: Fields should be marked as ReadOnly when possible
          Medium issue on: SqlWrangler.FrmNameInput.components0225min0662min 0s014912dcomponentsRule violated: Fields should be marked as ReadOnly when possible
          Medium issue on: SqlWrangler.SqlClient.components0215min0672min 0s012912dcomponentsRule violated: Fields should be marked as ReadOnly when possible
          Medium issue on: SqlWrangler.FrmLogin0186min0342min 22s008941dFrmLoginRule violated: Avoid types with poor cohesion
          Medium issue on: SqlWrangler.FrmMain01618min0286min0071 043dFrmMainRule violated: Avoid types with poor cohesion
          Medium issue on: SqlWrangler.SqlClient00741min01914min0061 073dSqlClientRule violated: Avoid types with poor cohesion
          High issue on: SqlWrangler.DataRowComparerViewer0041h 0min00520min0051 095dDataRowComparerViewerRule violated: UI layer shouldn't use directly DB types
          High issue on: SqlWrangler.SqlClient0011h 48min00420min0041 971dSqlClientRule violated: UI layer shouldn't use directly DB types
          High issue on: SqlWrangler.FrmLogin0002h 36min00320min0032 847dFrmLoginRule violated: UI layer shouldn't use directly DB types
          Medium issue on: SqlWrangler .DataRowComparerViewer.ToggleMenuItems()00559min0315min0023 863dToggleMenuItems()Rule violated: Avoid methods too big, too complex
          Medium issue on: SqlWrangler.SqlClient0021h 24min0277min0014 232dSqlClientRule violated: Avoid types with too many methods
          Medium issue on: SqlWrangler.SqlClient0031h 13min0325min0005 370dSqlClientRule violated: Avoid types too big
          Low issue on: SqlWrangler.FieldDefinition0513min 0s0960min 0s09600:00:00FieldDefinitionRule violated: Types that could be declared as private, nested in a parent type
          Low issue on: SqlWrangler .FieldDefinition.get_TableName()0950min 30s0950min 0s09500:00:00get_TableName()Rule violated: Avoid public methods not publicly visible
          Low issue on: SqlWrangler .FieldDefinition.set_TableName(String)0980min 30s0940min 0s09400:00:00set_TableName(String)Rule violated: Avoid public methods not publicly visible
          Low issue on: SqlWrangler .FieldDefinition.get_TableSchema()0990min 30s0990min 0s09900:00:00get_TableSchema()Rule violated: Avoid public methods not publicly visible
          Low issue on: SqlWrangler .FieldDefinition.set_TableSchema(String)0960min 30s0980min 0s09800:00:00set_TableSchema(String)Rule violated: Avoid public methods not publicly visible
          Low issue on: SqlWrangler .FieldDefinition.get_ClassName()0970min 30s0970min 0s09700:00:00get_ClassName()Rule violated: Avoid public methods not publicly visible
          Low issue on: SqlWrangler .FieldDefinition.set_ClassName(String)0860min 30s0930min 0s09300:00:00set_ClassName(String)Rule violated: Avoid public methods not publicly visible
          Low issue on: SqlWrangler.FieldDefinition.get_Name()0850min 30s0890min 0s08900:00:00get_Name()Rule violated: Avoid public methods not publicly visible
          Low issue on: SqlWrangler .FieldDefinition.set_Name(String)0840min 30s0880min 0s08800:00:00set_Name(String)Rule violated: Avoid public methods not publicly visible
          Low issue on: SqlWrangler .FieldDefinition.get_DbFieldName()0870min 30s0870min 0s08700:00:00get_DbFieldName()Rule violated: Avoid public methods not publicly visible
          Low issue on: SqlWrangler .FieldDefinition.set_DbFieldName(String)0900min 30s0920min 0s09200:00:00set_DbFieldName(String)Rule violated: Avoid public methods not publicly visible
          Low issue on: SqlWrangler .FieldDefinition.get_Length()0890min 30s0910min 0s09100:00:00get_Length()Rule violated: Avoid public methods not publicly visible
          Low issue on: SqlWrangler .FieldDefinition.set_Length(Int32)0880min 30s0900min 0s09000:00:00set_Length(Int32)Rule violated: Avoid public methods not publicly visible

          Statistics

          Stat   Debt   Annual Interest   Breaking Point   CodeElement
          Sum:2d 2h1d 2h55 316d-
          Average:9min5min507d-
          Minimum:0min 30s0min 0s00:00:00-
          Maximum:2h 36min20min5 370d-
          Standard deviation:22min6min795d-
          Variance:64d5d 6hoverflow-
          ok   Code Query:    Debt and Issues per Rule

          21 rules matched

          21 rulesIssuesDebtAnnual InterestBreaking PointCategoryFull Name
          UI layer shouldn't use directly DB types056 issues006h 52min012h 0min031 253dProject Rules \ ArchitectureRule
          UI layer shouldn't use directly DAL layer065 issues012h 40min021h 40min07584dProject Rules \ ArchitectureRule
          Methods name should begin with an Upper character0032 issues021h 36min031h 4min10547dProject Rules \ Naming ConventionsRule
          Avoid types with too many methods111 issue031h 24min107min014 232dProject Rules \ Code SmellsRule
          Avoid types too big131 issue041h 13min135min005 370dProject Rules \ Code SmellsRule
          Avoid types with poor cohesion093 issues051h 6min0423min041 050dProject Rules \ Code SmellsRule
          Avoid methods too big, too complex141 issue0659min125min023 863dProject Rules \ Code SmellsRule
          Avoid methods potentially poorly commented0213 issues0735min002h 58min1572dProject Rules \ Code SmellsRule
          Fields should be marked as ReadOnly when possible046 issues0830min0812min05912dProject Rules \ ImmutabilityRule
          Do not raise too general exception types191 issue0920min0520min11365dProject Rules \ .NET Framework Usage \ SystemRule
          Methods should be declared static if possible038 issues1010min0716min12228dProject Rules \ Object Oriented DesignRule
          Avoid public methods not publicly visible0118 issues129min190min 0s1900:00:00Project Rules \ VisibilityRule
          Avoid defining multiple types in a source file083 issues119min180min 0s2000:00:00Project Rules \ Source Files OrganizationRule
          Float and Date Parsing must be culture aware161 issue138min145min06584dProject Rules \ .NET Framework Usage \ System.GlobalizationRule
          Types that could be declared as private, nested in a parent type171 issue163min 0s200min 0s1800:00:00Project Rules \ VisibilityRule
          Instance fields naming convention151 issue153min 0s162min 0s09547dProject Rules \ Naming ConventionsRule
          Avoid methods with name too long201 issue143min 0s152min 0s08547dProject Rules \ Naming ConventionsRule
          Fields should be declared as private102 issues182min 0s0912min1660dProject Rules \ VisibilityRule
          Avoid non-readonly static fields181 issue172min 0s0620min1736dProject Rules \ ImmutabilityRule
          Methods that could have a lower visibility073 issues191min 30s116min1491dProject Rules \ VisibilityRule
          Class with no descendant should be sealed if possible121 issue200min 30s172min 0s1391dProject Rules \ Object Oriented DesignRule

          Statistics

          Stat   Issues   Debt   Annual Interest   Breaking Point   Category
          Sum:1092d 2h1d 2h20 438d-
          Average:5.1951min28min973d-
          Minimum:10min 30s0min 0s00:00:00-
          Maximum:326h 52min2h 58min5 370d-
          Standard deviation:7.411h 30min46min1 497d-
          Variance:54.921 021d269doverflow-
          ok   Code Query:    New Debt and Issues per Rule

          No rule matched

          ok   Code Query:    Debt and Issues per Code Element

          86 members matched

          86 types and membersIssuesDebtAnnual InterestBreaking PointFull Name
          SqlClient006 issues005h 58min001h 6min001 971dSqlWrangler.SqlClient
          FrmLogin033 issues013h 14min0242min011 672dSqlWrangler.FrmLogin
          FrmMain013 issues021h 14min0146min12586dSqlWrangler.FrmMain
          DataRowComparerViewer122 issues031h 3min0820min021 149dSqlWrangler.DataRowComparerViewer
          ToggleMenuItems()132 issues041h 2min0621min031 059dSqlWrangler.DataRowComparerViewer .ToggleMenuItems()
          FrmExportSql142 issues0556min0340min45511dSqlWrangler.FrmExportSql
          Wizard112 issues0639min0920min10711dSqlWrangler.Wizard
          GenerateInsertSql(DataRow)023 issues0730min0435min48308dSqliteTools.Table.GenerateInsertSql (DataRow)
          Program321 issue0820min0720min47365dSqlWrangler.Program
          clearAllCheckFieldsToolStripMenuItem_Cli ck(Object,EventArgs)152 issues096min224min 0s29547dSqlWrangler.DataRowComparerViewer .clearAllCheckFieldsToolStripMenuItem_Cl ick(Object,EventArgs)
          CreateNhSessionFactory(String)052 issues105min1812min59166dSqlWrangler.FrmLogin .CreateNhSessionFactory(String)
          components351 issue145min432min 0s09912dSqlWrangler.DataRowComparerViewer .components
          components361 issue155min422min 0s05912dSqlWrangler.FrmExportSql.components
          components371 issue165min472min 0s04912dSqlWrangler.FrmLogin.components
          components341 issue115min462min 0s07912dSqlWrangler.FrmMain.components
          components311 issue125min452min 0s06912dSqlWrangler.FrmNameInput.components
          components331 issue135min372min 0s08912dSqlWrangler.SqlClient.components
          Snippets102 issues174min 0s218min54182dSqlWrangler.FrmMain.Snippets
          FieldDefinition072 issues183min 30s362min 0s11638dSqlWrangler.FieldDefinition
          Types082 issues343min 0s0526min7042dSqliteTools.SqliteTypes.Types
          dataGridView1_CellFormatting(Object ,DataGridViewCellFormattingEventArgs)431 issue353min 0s352min 0s30547dSqlWrangler.DataRowComparerViewer .dataGridView1_CellFormatting(Object ,DataGridViewCellFormattingEventArgs)
          dataGridView1_RowHeaderMouseClick(Object ,DataGridViewCellMouseEventArgs)441 issue363min 0s382min 0s31547dSqlWrangler.DataRowComparerViewer .dataGridView1_RowHeaderMouseClick (Object,DataGridViewCellMouseEventArgs)
          setKeyToolStripMenuItem_Click(Object ,EventArgs)411 issue313min 0s392min 0s26547dSqlWrangler.DataRowComparerViewer .setKeyToolStripMenuItem_Click(Object ,EventArgs)
          dataGridView1_ColumnHeaderMouseClick (Object,DataGridViewCellMouseEventArgs)381 issue323min 0s402min 0s27547dSqlWrangler.DataRowComparerViewer .dataGridView1_ColumnHeaderMouseClick (Object,DataGridViewCellMouseEventArgs)
          setCheckFieldsToolStripMenuItem_Click (Object,EventArgs)391 issue333min 0s412min 0s28547dSqlWrangler.DataRowComparerViewer .setCheckFieldsToolStripMenuItem_Click (Object,EventArgs)
          btnCancel_Click(Object,EventArgs)401 issue403min 0s442min 0s32547dSqlWrangler.FrmExportSql.btnCancel_Click (Object,EventArgs)
          btnOk_Click(Object,EventArgs)301 issue413min 0s262min 0s36547dSqlWrangler.FrmExportSql.btnOk_Click (Object,EventArgs)
          button1_Click(Object,EventArgs)161 issue423min 0s272min 0s37547dSqlWrangler.FrmLogin.button1_Click (Object,EventArgs)
          button2_Click(Object,EventArgs)211 issue373min 0s282min 0s38547dSqlWrangler.FrmLogin.button2_Click (Object,EventArgs)
          frmLogin_Load(Object,EventArgs)221 issue383min 0s252min 0s33547dSqlWrangler.FrmLogin.frmLogin_Load (Object,EventArgs)
          comboBox1_SelectedIndexChanged(Object ,EventArgs)201 issue393min 0s242min 0s34547dSqlWrangler.FrmLogin .comboBox1_SelectedIndexChanged(Object ,EventArgs)
          txtPassword_KeyDown(Object,KeyEventArgs)191 issue223min 0s232min 0s35547dSqlWrangler.FrmLogin.txtPassword_KeyDown (Object,KeyEventArgs)
          button3_Click(Object,EventArgs)181 issue233min 0s322min 0s16547dSqlWrangler.FrmLogin.button3_Click (Object,EventArgs)
          newToolStripMenuItem_Click_1(Object ,EventArgs)171 issue243min 0s332min 0s17547dSqlWrangler.FrmMain .newToolStripMenuItem_Click_1(Object ,EventArgs)
          frmMain_FormClosed(Object ,FormClosedEventArgs)271 issue193min 0s342min 0s18547dSqlWrangler.FrmMain.frmMain_FormClosed (Object,FormClosedEventArgs)
          frmMain_DragDrop(Object,DragEventArgs)281 issue203min 0s292min 0s13547dSqlWrangler.FrmMain.frmMain_DragDrop (Object,DragEventArgs)
          helpToolStripMenuItem_Click(Object ,EventArgs)291 issue213min 0s302min 0s14547dSqlWrangler.FrmMain .helpToolStripMenuItem_Click(Object ,EventArgs)
          aboutToolStripMenuItem_Click(Object ,EventArgs)261 issue283min 0s312min 0s15547dSqlWrangler.FrmMain .aboutToolStripMenuItem_Click(Object ,EventArgs)
          button1_Click(Object,EventArgs)231 issue293min 0s632min 0s19547dSqlWrangler.FrmNameInput.button1_Click (Object,EventArgs)
          button2_Click(Object,EventArgs)241 issue303min 0s642min 0s23547dSqlWrangler.FrmNameInput.button2_Click (Object,EventArgs)
          txtName_KeyPress(Object ,KeyPressEventArgs)251 issue253min 0s622min 0s24547dSqlWrangler.FrmNameInput .txtName_KeyPress(Object ,KeyPressEventArgs)
          BuildSnippetMenu()721 issue263min 0s1316min6468dSqlWrangler.SqlClient.BuildSnippetMenu()
          executeToolStripMenuItem_Click(Object ,EventArgs)421 issue273min 0s602min 0s25547dSqlWrangler.SqlClient .executeToolStripMenuItem_Click(Object ,EventArgs)
          toCSVToolStripMenuItem_Click(Object ,EventArgs)731 issue493min 0s612min 0s20547dSqlWrangler.SqlClient .toCSVToolStripMenuItem_Click(Object ,EventArgs)
          textBox1_KeyUp_1(Object,KeyEventArgs)751 issue483min 0s652min 0s21547dSqlWrangler.SqlClient.textBox1_KeyUp_1 (Object,KeyEventArgs)
          toXMLToolStripMenuItem_Click(Object ,EventArgs)741 issue513min 0s692min 0s22547dSqlWrangler.SqlClient .toXMLToolStripMenuItem_Click(Object ,EventArgs)
          cancelToolStripMenuItem_Click(Object ,EventArgs)671 issue503min 0s702min 0s39547dSqlWrangler.SqlClient .cancelToolStripMenuItem_Click(Object ,EventArgs)
          toDaveSqlToolStripMenuItem_Click(Object ,EventArgs)661 issue473min 0s682min 0s43547dSqlWrangler.SqlClient .toDaveSqlToolStripMenuItem_Click(Object ,EventArgs)
          dataGridView1_DataError(Object ,DataGridViewDataErrorEventArgs)681 issue443min 0s662min 0s44547dSqlWrangler.SqlClient .dataGridView1_DataError(Object ,DataGridViewDataErrorEventArgs)
          toJSONToolStripMenuItem_Click(Object ,EventArgs)701 issue433min 0s672min 0s42547dSqlWrangler.SqlClient .toJSONToolStripMenuItem_Click(Object ,EventArgs)
          colorToolStripMenuItem_Click(Object ,EventArgs)691 issue463min 0s592min 0s40547dSqlWrangler.SqlClient .colorToolStripMenuItem_Click(Object ,EventArgs)
          compareRowsToolStripMenuItem_Click (Object,EventArgs)821 issue453min 0s512min 0s41547dSqlWrangler.SqlClient .compareRowsToolStripMenuItem_Click (Object,EventArgs)
          WriteCsWizard(DataTable,StreamWriter ,String,String)811 issue522min 48s1416min6663dSqlWrangler.Wizard.WriteCsWizard (DataTable,StreamWriter,String,String)
          WriteModelClass(DataTable,StreamWriter ,IEnumerable<FieldDefinition> ,MapperAttributeType)831 issue542min 42s1216min6761dSqlWrangler.Wizard.WriteModelClass (DataTable,StreamWriter,IEnumerable <FieldDefinition>,MapperAttributeType)
          GetFields(DataTableReader)851 issue532min 42s1513min6172dSqlWrangler.Wizard.GetFields (DataTableReader)
          WriteMaterializer(DataTable,StreamWriter ,IEnumerable<FieldDefinition>)841 issue552min 36s1613min6370dSqlWrangler.Wizard.WriteMaterializer (DataTable,StreamWriter,IEnumerable <FieldDefinition>)
          Compare(DataRow,DataTable,String)771 issue572min 30s1911min6081dSqlWrangler.DataRowComparerViewer .Compare(DataRow,DataTable,String)
          GetFieldName(String)761 issue562min 30s522min 0s46456dSqlWrangler.Wizard.GetFieldName(String)
          SaveExternalFile(Boolean)781 issue592min 24s1116min6854dSqlWrangler.SqlClient.SaveExternalFile (Boolean)
          WriteMappings(DataTable,StreamWriter ,IEnumerable<FieldDefinition>)801 issue582min 24s1713min6565dSqlWrangler.Wizard.WriteMappings (DataTable,StreamWriter,IEnumerable <FieldDefinition>)
          WizardToolStripMenuItem1_Click(Object ,EventArgs)791 issue602min 12s1016min6950dSqlWrangler.SqlClient .WizardToolStripMenuItem1_Click(Object ,EventArgs)
          GetSnippets()651 issue612min 0s2010min6271dSqlWrangler.FrmMain.GetSnippets()
          IsString(Type)511 issue681min 0s502min 0s58182dSqliteTools.Table.IsString(Type)
          IsDateTime(Type)501 issue671min 0s482min 0s57182dSqliteTools.Table.IsDateTime(Type)
          ExportSql(FileInfo,DataTable,String ,String,Boolean,Boolean)521 issue701min 0s492min 0s51182dSqlWrangler.FrmExportSql.ExportSql (FileInfo,DataTable,String,String ,Boolean,Boolean)
          GetExcelConnectionString(String)541 issue691min 0s532min 0s52182dSqlWrangler.FrmLogin .GetExcelConnectionString(String)
          get_TableName()092 issues661min 0s572min 0s50182dSqlWrangler.FieldDefinition .get_TableName()
          get_TableSchema()042 issues631min 0s582min 0s49182dSqlWrangler.FieldDefinition .get_TableSchema()
          get_ClassName()062 issues621min 0s562min 0s55182dSqlWrangler.FieldDefinition .get_ClassName()
          WriteLinq2DbField(StreamWriter ,FieldDefinition,String)531 issue651min 0s542min 0s56182dSqlWrangler.Wizard.WriteLinq2DbField (StreamWriter,FieldDefinition,String)
          WriteEntityFrameworkField(StreamWriter ,FieldDefinition,String)461 issue641min 0s552min 0s53182dSqlWrangler.Wizard .WriteEntityFrameworkField(StreamWriter ,FieldDefinition,String)
          set_TableName(String)451 issue810min 30s810min 0s7900:00:00SqlWrangler.FieldDefinition .set_TableName(String)
          set_TableSchema(String)471 issue800min 30s800min 0s8000:00:00SqlWrangler.FieldDefinition .set_TableSchema(String)
          set_ClassName(String)491 issue790min 30s790min 0s7700:00:00SqlWrangler.FieldDefinition .set_ClassName(String)
          get_Name()481 issue820min 30s820min 0s7800:00:00SqlWrangler.FieldDefinition.get_Name()
          set_Name(String)611 issue850min 30s850min 0s8100:00:00SqlWrangler.FieldDefinition.set_Name (String)
          get_DbFieldName()601 issue840min 30s840min 0s8400:00:00SqlWrangler.FieldDefinition .get_DbFieldName()
          set_DbFieldName(String)621 issue830min 30s830min 0s8500:00:00SqlWrangler.FieldDefinition .set_DbFieldName(String)
          get_Length()641 issue780min 30s780min 0s8200:00:00SqlWrangler.FieldDefinition.get_Length()
          set_Length(Int32)631 issue730min 30s730min 0s8300:00:00SqlWrangler.FieldDefinition.set_Length (Int32)
          get_AllowsNull()561 issue720min 30s720min 0s7100:00:00SqlWrangler.FieldDefinition .get_AllowsNull()
          set_AllowsNull(Boolean)551 issue710min 30s710min 0s7600:00:00SqlWrangler.FieldDefinition .set_AllowsNull(Boolean)
          get_Type()571 issue740min 30s740min 0s7300:00:00SqlWrangler.FieldDefinition.get_Type()
          set_Type(String)591 issue770min 30s770min 0s7400:00:00SqlWrangler.FieldDefinition.set_Type (String)
          get_IsShortBool()581 issue760min 30s760min 0s7200:00:00SqlWrangler.FieldDefinition .get_IsShortBool()
          set_IsShortBool(Boolean)711 issue750min 30s750min 0s7500:00:00SqlWrangler.FieldDefinition .set_IsShortBool(Boolean)

          Statistics

          Stat   Issues   Debt   Annual Interest   Breaking Point
          Sum:1092d 2h1d 2h35 120d
          Average:1.2712min6min408d
          Minimum:10min 30s0min 0s00:00:00
          Maximum:65h 58min1h 6min1 971d
          Standard deviation:0.7144min11min369d
          Variance:0.5250d17d 2hoverflow
          ok   Code Query:    New Debt and Issues per Code Element

          No code element matched

          Object Oriented Design

          ok   Validated Rule:    Avoid interfaces too big

          No type matched

          ok   Validated Rule:    Base class should not use derivatives

          No type matched

          ok   Validated Rule:    Class shouldn't be too deep in inheritance tree

          No type matched

          warning   Rule Violated:    Class with no descendant should be sealed if possible

          1 type matched

          • Formatting: bold means added, underlined means code was changed, strike-bold means removed (since baseline)
          1 type# lines of code (LOC)DebtSeverityFull Name
          FieldDefinition01800min 30s0MediumSqlWrangler.FieldDefinition
          ok   Validated Rule:    Overrides of Method() should call base.Method()

          No method matched

          ok   Validated Rule:    Do not hide base class methods

          No method matched

          ok   Validated Rule:    A stateless class or structure might be turned into a static type

          No type matched

          ok   Validated Rule:    Non-static classes should be instantiated or turned to static

          No type matched

          warning   Rule Violated:    Methods should be declared static if possible

          8 methods matched

          • Formatting: bold means added, underlined means code was changed, strike-bold means removed (since baseline)
          8 methodsstaticFieldsUsedmethodsCallingMeDebtSeverityFull Name
          IsString(Type)2no field41 method41min 0s2MediumSqliteTools.Table.IsString(Type)
          IsDateTime(Type)3no field31 method31min 0s3MediumSqliteTools.Table.IsDateTime(Type)
          ExportSql(FileInfo,DataTable,String ,String,Boolean,Boolean)0no field21 method21min 0s0MediumSqlWrangler.FrmExportSql.ExportSql (FileInfo,DataTable,String,String ,Boolean,Boolean)
          CreateNhSessionFactory(String)1no field12 methods11min 30s1MediumSqlWrangler.FrmLogin .CreateNhSessionFactory(String)
          GetExcelConnectionString(String)6no field61 method61min 0s6MediumSqlWrangler.FrmLogin .GetExcelConnectionString(String)
          WriteLinq2DbField(StreamWriter ,FieldDefinition,String)7no field51 method51min 0s7MediumSqlWrangler.Wizard.WriteLinq2DbField (StreamWriter,FieldDefinition,String)
          WriteEntityFrameworkField(StreamWriter ,FieldDefinition,String)4no field71 method71min 0s4MediumSqlWrangler.Wizard .WriteEntityFrameworkField(StreamWriter ,FieldDefinition,String)
          GetFieldName(String)5no field04 methods02min 30s5MediumSqlWrangler.Wizard.GetFieldName(String)
          ok   Validated Rule:    Constructor should not call a virtual method

          No method matched

          ok   Validated Rule:    Avoid the Singleton pattern

          No type matched

          ok   Validated Rule:    Don't assign static fields from instance methods

          No field matched

          ok   Validated Rule:    Avoid empty interfaces

          No type matched

          ok   Validated Rule:    Avoid types initialization cycles

          No method matched

          API Breaking Changes

          ok   Validated Rule:    API Breaking Changes: Types

          No type matched

          ok   Validated Rule:    API Breaking Changes: Methods

          No method matched

          ok   Validated Rule:    API Breaking Changes: Fields

          No field matched

          ok   Validated Rule:    API Breaking Changes: Interfaces and Abstract Classes

          No type matched

          ok   Validated Rule:    Broken serializable types

          No type matched

          ok   Validated Rule:    Avoid changing enumerations Flags status

          No type matched

          Code Coverage

          ok   Validated Rule:    Code should be tested

          No method matched

          ok   Validated Rule:    New Methods should be tested

          No method matched

          ok   Validated Rule:    Methods refactored should be tested

          No method matched

          ok   Validated Rule:    Assemblies Namespaces and Types should be tested

          No code element parent matched

          ok   Validated Rule:    Types almost 100% tested should be 100% tested

          No type matched

          ok   Validated Rule:    Namespaces almost 100% tested should be 100% tested

          No namespace matched

          ok   Validated Rule:    Types that used to be 100% covered by tests should still be 100% covered

          No method matched

          ok   Validated Rule:    Types tagged with FullCoveredAttribute should be 100% covered

          No method matched

          ok   Validated Rule:    Types 100% covered should be tagged with FullCoveredAttribute

          No type matched

          ok   Validated Rule:    Methods should have a low C.R.A.P score

          No method matched

          Dead Code

          ok   Validated Rule:    Potentially Dead Types

          No type matched

          ok   Validated Rule:    Potentially Dead Methods

          No method matched

          ok   Validated Rule:    Potentially Dead Fields

          No field matched

          ok   Validated Rule:    Wrong usage of IsNotDeadCodeAttribute

          No member matched

          Code Diff Summary

          » Baseline for comparison : Compare with analysis result obtained on 2019 July - 21 Sunday 06:51 (which is the analysis result with date closest to 30 days ago)

          ok   Code Query:    New assemblies

          No assembly matched

          ok   Code Query:    Assemblies removed

          No assembly matched

          ok   Code Query:    Assemblies where code was changed

          No assembly matched

          ok   Code Query:    New namespaces

          No namespace matched

          ok   Code Query:    Namespaces removed

          No namespace matched

          ok   Code Query:    Namespaces where code was changed

          No namespace matched

          ok   Code Query:    New types

          No type matched

          ok   Code Query:    Types removed

          No type matched

          ok   Code Query:    Types where code was changed

          No type matched

          ok   Code Query:    Heuristic to find types moved from one namespace or assembly to another

          No type matched

          ok   Code Query:    Types directly using one or several types changed

          No type matched

          ok   Code Query:    Types indirectly using one or several types changed

          No type matched

          ok   Code Query:    New methods

          No method matched

          ok   Code Query:    Methods removed

          No method matched

          ok   Code Query:    Methods where code was changed

          No method matched

          ok   Code Query:    Methods directly calling one or several methods changed

          No method matched

          ok   Code Query:    Methods indirectly calling one or several methods changed

          No method matched

          ok   Code Query:    New fields

          No field matched

          ok   Code Query:    Fields removed

          No field matched

          ok   Code Query:    Third party types that were not used and that are now used

          No type matched

          ok   Code Query:    Third party types that were used and that are not used anymore

          No type matched

          ok   Code Query:    Third party methods that were not used and that are now used

          No method matched

          ok   Code Query:    Third party methods that were used and that are not used anymore

          No method matched

          ok   Code Query:    Third party fields that were not used and that are now used

          No field matched

          ok   Code Query:    Third party fields that were used and that are not used anymore

          No field matched

          Trend Charts


          Size


          % Coverage and % Debt


          Issues


          Rules


          Quality Gates


          Debt

          Assemblies Dependencies

          Assembly Depends on Is referenced by
          SqliteTools v1.0.0.0mscorlib v4.0.0.0 ; System.Data v4.0.0.0 ; System.Core v4.0.0.0 ; SqlWrangler v1.0.0.0 ;
          SqlWrangler v1.0.0.0mscorlib v4.0.0.0 ; System.Data v4.0.0.0 ; System.Drawing v4.0.0.0 ; System v4.0.0.0 ; System.Windows.Forms v4.0.0.0 ; System.Core v4.0.0.0 ; System.Data.DataSetExtensions v4.0.0.0 ; SqliteTools v1.0.0.0 ; NHibernate v4.0.0.4000 ; System.Configuration v4.0.0.0 ; System.Xml v4.0.0.0 ; ScintillaNET v3.5.6.0 ; Newtonsoft.Json v9.0.0.0 ; Oracle.ManagedDataAccess v4.121.2.0 ; -

          Assemblies Build Order

          1. SqliteTools
          2. SqlWrangler

          Assemblies Build Order

          1. SqliteTools
          2. SqlWrangler

          Analysis Log : Information and Warnings

          Here are Logs emitted during NDepend analysis.
          The Warnings can reveal potential flaws concerning the health of the build process.
          A particular warn can be disabled through the NDepend interactive UI, panel Error List, tick the checkbox Disabled corresponding to the warn to disable.


          Message
          warningCriticalBegin full analysis with NDepend v2019.2.5
          warningCriticalCompare with analysis result obtained on 2019 July - 21 Sunday 06:51 (which is the analysis result with date closest to 30 days ago)
          warningCritical.NET Assemblies resolved from the Visual Studio solution file {D:\src\SqlWrangler\SqlWrangler\SqlWrangler.sln} D:\src\SqlWrangler\SqlWrangler\SqlWrangler\bin\Debug\SqlWrangler.exe D:\src\SqlWrangler\SqlWrangler\SqliteTools\bin\Debug\SqliteTools.dll
          warningCriticalNo .NET Assembly filtered out from the Visual Studio solution file {D:\src\SqlWrangler\SqlWrangler\SqlWrangler.sln}.
          warningCriticalConcurrent mode
          warningCritical.NET Assemblies loaded from {C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319} System.Core.dll v4.0.0.0 System.Data.DataSetExtensions.dll v4.0.0.0 System.Xml.dll v4.0.0.0 System.Configuration.dll v4.0.0.0 System.Drawing.dll v4.0.0.0 System.dll v4.0.0.0 System.Data.dll v4.0.0.0 System.Windows.Forms.dll v4.0.0.0 mscorlib.dll v4.0.0.0
          warningCritical21 source files parsed ; all source files found ; all source files in-sync with PDB
          warningCritical0 code rule has been extracted from code.
          warningCriticalNo dependency cycle detected in assemblies referencement graph.
          warningCriticalDo merge code generated by compiler into application code.
          warningCriticalAnalyse dependencies of your application.
          warningCriticalNo SuppressMessageAttribute found in the analyzed code base. Since NDepend v2018.2 SuppressMessageAttribute can be used to suppress NDepend issues. Don't forget to set in your projects the compilation symbol CODE_ANALYSIS to use this attribute to suppress NDepend issues.
          warningCriticalExecute queries and rules.
          warningCritical1 quality gate fails: - 'Critical Rules Violated' value 3 rules greater than fail threshold 0 rules
          warningCriticalNDepend analysis done. Duration: 00:15
          warningCriticalBuilding the report (standard).

          Abstractness versus Instability Diagram

          The Abstractness versus Instability Diagram helps to detect which assemblies are potentially painful to maintain (i.e concrete and stable) and which assemblies are potentially useless (i.e abstract and instable).

          • Abstractness: If an assembly contains many abstract types (i.e interfaces and abstract classes) and few concrete types, it is considered as abstract.
          • Instability: An assembly is considered stable if its types are used by a lot of types from other assemblies. In this context stable means painful to modify.

          Online documentation: