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 \ Code Smells Regression
Main \ Rules \ Project Rules \ Object Oriented Design
Main \ Rules \ Project Rules \ 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 22:35:26analysis 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 523      -12
635   (NotMyCode)      no diff
Estimated Dev Effort   33d      -0.18d
# Types
16      +1
2   Assemblies      no diff
4   Namespaces      +1
106   Methods      +4
83   Fields      +3
23   Source Files      +2
676   Third-Party Elements      +3
Comment
23.08%      from 23.4%
457   Lines of Comment      -12
Debt
7.12%      from 6.82%
Rating   B   5h 35min effort to reach  A
Debt   2d 2h      +41min
The technical-debt is incomplete because no coverage data specified.      
CoverageN/A because no coverage data specified
Method Complexity
10   Max      -1
2.25   Average      -0.023
Quality Gates
Fail1
Warn2
Pass4
Rules
Critical1+1-3
Violated22+4-5
Ok115
Issues
All104+19-24
Blocker0
Critical0
High21+9-1
Medium57+6-23
Low26+4
Suppressed0

Quality Gates summary

721
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
warningCritical   New Blocker / Critical / High Issues
warningCritical9 issuesProject Rules \ Quality Gates
warning   Percentage Debt
warningwarning6.82 %warning7.12 %Project Rules \ Quality Gates
warning   New Debt since Baseline
warning0.086 man-daysProject Rules \ Quality Gates
warning   Debt Rating per Namespace
okwarning0 namespaceswarning0 namespacesProject Rules \ Quality Gates
warning   New Annual Interest since Baseline
warning0.57 man-daysProject Rules \ Quality Gates

Rules summary

127211
  • Number of Rules or Queries with Error (syntax error, exception thrown, time-out): 0
  • Number of Rules violated: 22
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
warning   Avoid types with too many methods
100 typeProject Rules \ Code Smells
warning   Avoid methods potentially poorly commented
1311 methodsProject Rules \ Code Smells
warning   Avoid types with poor cohesion
410 typesProject Rules \ Code Smells
warning   From now, all methods added should respect basic quality principles
3 methodsProject Rules \ Code Smells Regression
warning   Avoid adding instance fields to a type that already had many instance fields
1 typeProject Rules \ Code Smells Regression
warning   Class with no descendant should be sealed if possible
320 typesProject Rules \ Object Oriented Design
warning   A stateless class or structure might be turned into a static type
220 typesProject Rules \ Object Oriented Design
warning   Methods should be declared static if possible
910 methodsProject Rules \ Object Oriented Design
warning   Don't use obsolete types, methods or fields
110 methodProject Rules \ Design
warningCritical   Avoid namespaces mutually dependent
220 membersProject Rules \ Architecture
warning   Avoid namespaces dependency cycles
110 namespaceProject Rules \ Architecture
warning   UI layer shouldn't use directly DB types
710 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   Avoid public methods not publicly visible
2020 methodsProject Rules \ Visibility
warning   Fields should be marked as ReadOnly when possible
600 fieldsProject Rules \ Immutability
warning   Methods name should begin with an Upper character
16016 methodsProject Rules \ Naming Conventions
warning   Avoid methods with name too long
111 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 17 Classes 1.242.449 public properties on SqlWrangler.FieldDefinition
Public methods on classes 17 classes 3.594.7519 public methods on SqlWrangler.FieldDefinition
Arguments on public methods on classes 61 methods 0.640.915 arguments on SqlWrangler.Services.SnippetMenuBuilder.BuildSnippetMenu(List<TextSnippet>,ToolStripMenuItem,Keys,Scintilla,DataGridView)
IL instructions in non-abstract methods 178 methods 52.9119.681256 IL instructions in SqlWrangler.SqlClient.InitializeComponent()
Cyclomatic complexity on non abstract Methods 178 Methods 3.083.88 CC = 18 for SqlWrangler.FrmExportSql.btnOk_Click(Object,EventArgs)

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.075662204738.52-1350.50.9700.02
SqlWrangler v1.0.0.01448875516041022.07-01991.56100

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
FrmLogin1.9520511265019.613545-274SqlWrangler
Resources1.33372175258.432020-614SqlWrangler.Properties
TextSnippet0.764180045-35SqlWrangler
FieldDefinition0.561867001819-17SqlWrangler
MapperAttributeType0.56--0-0--12SqlWrangler
Settings0.541298001213-212SqlWrangler.Properties
FrmNameInput0.47623182629.551112-133SqlWrangler
Table0.37745852928.163146-134SqliteTools
SqlClient0.34407255610420.3581119-1120SqlWrangler
FrmMain0.321106373725.172635-159SqlWrangler
RowComparerResult0.34180045-17SqlWrangler
ScintillaStyler0.251712583212-19SqlWrangler.Services
SnippetMenuBuilder0.2544342001426-135SqlWrangler.Services
FrmExportSql0.251297733923.212134-152SqlWrangler
DataRowComparerViewer0.2522713944416.245897-176SqlWrangler
Wizard0.25169105652.874969-128SqlWrangler
Program0.1531035011-07SqlWrangler
SqliteTypes0.1517715011-018SqliteTools


  

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
TextSnippet502201SqlWrangler
FieldDefinition1909901SqlWrangler
MapperAttributeType------SqlWrangler
Settings1126103SqlWrangler.Properties
FrmNameInput801607SqlWrangler
Table1213301SqliteTools
SqlClient29023307SqlWrangler
FrmMain16021107SqlWrangler
RowComparerResult502201SqlWrangler
ScintillaStyler200001SqlWrangler.Services
SnippetMenuBuilder300001SqlWrangler.Services
FrmExportSql8011007SqlWrangler
DataRowComparerViewer15001407SqlWrangler
Wizard1000101SqlWrangler
Program010001SqlWrangler
SqliteTypes010101SqliteTools


  

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.9116SqlWrangler
Resources005SqlWrangler.Properties
TextSnippet001SqlWrangler
FieldDefinition001SqlWrangler
MapperAttributeType--0SqlWrangler
Settings004SqlWrangler.Properties
FrmNameInput0.730.8842SqlWrangler
Table0037SqliteTools
SqlClient0.920.96208SqlWrangler
FrmMain0.880.9680SqlWrangler
RowComparerResult001SqlWrangler
ScintillaStyler0017SqlWrangler.Services
SnippetMenuBuilder0051SqlWrangler.Services
FrmExportSql0.730.8578SqlWrangler
DataRowComparerViewer0.80.86134SqlWrangler
Wizard0.80.8962SqlWrangler
Program004SqlWrangler
SqliteTypes003SqliteTools

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
SqliteTools7566223028.57-19
SqlWrangler133879731230818.71-133
SqlWrangler.Properties4931525954.63-110
SqlWrangler.Services614672811.59-111

721This group contains children groups
Project Rules  

    721
    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 Fail:    New Blocker / Critical / High Issues

    9 issues matched

    9 issuesSeverityDebtAnnual InterestFull Name
    High issue on: SqlWrangler.SqlClient .ColorToolStripMenuItem_Click(Object ,EventArgs)2High65min21h 0minRule violated: From now, all methods added should respect basic quality principles
    High issue on: SqlWrangler.Services .SnippetMenuBuilder.BuildSnippetMenu (List<TextSnippet>,ToolStripMenuItem ,Keys,Scintilla,DataGridView)3High55min11h 0minRule violated: From now, all methods added should respect basic quality principles
    High issue on: SqlWrangler.Services .SnippetMenuBuilder.InsertFields (Scintilla,DataGridView)0High85min01h 0minRule violated: From now, all methods added should respect basic quality principles
    High issue on: SqlWrangler.SqlClient1High320min520minRule violated: Avoid adding instance fields to a type that already had many instance fields
    High issue on: SqliteTools.SqliteTypes..cctor()4High75min620minRule violated: Don't use obsolete types, methods or fields
    High issue on: SqlWrangler.SqlClient7High420min341minRule violated: Avoid namespaces mutually dependent
    High issue on: SqlWrangler.SqlClient. .ctor(List<TextSnippet>)8High230min441minRule violated: Avoid namespaces mutually dependent
    High issue on: SqlWrangler5High02h 0min720minRule violated: Avoid namespaces dependency cycles
    High issue on: SqlWrangler.Services.SnippetMenuBuilder6High136min820minRule violated: UI layer shouldn't use directly DB types

    Statistics

    Stat   Severity   Debt   Annual Interest
    Sum:-4h 6min5h 43min
    Average:-27min38min
    Minimum:-5min20min
    Maximum:-2h 0min1h 0min
    Standard deviation:-34min17min
    Variance:-149d38d
    ok   Quality Gate Pass:    Percentage Debt

    Scalar Result: 7.12 %

    ok   Quality Gate Warn:    New Debt since Baseline

    Scalar Result: 0.086 man-days

    ok   Quality Gate Pass:    Debt Rating per Namespace

    No namespace matched

    ok   Quality Gate Warn:    New Annual Interest since Baseline

    Scalar Result: 0.57 man-days

    000
    Rules extracted from Source Code  

      127211This group contains children groups
      Project Rules  

        530
        Code Smells  

        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
        SqlClient025025 methods0no method040701h 15min05minSqlWrangler.SqlClient
        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
        BuildSnippetMenu(List<TextSnippet> ,ToolStripMenuItem,Keys,Scintilla ,DataGridView)08001300700130013min 0s0416minSqlWrangler.Services.SnippetMenuBuilder .BuildSnippetMenu(List<TextSnippet> ,ToolStripMenuItem,Keys,Scintilla ,DataGridView)
        CreateNhSessionFactory(String)018.1600450040041004min 6s1110minSqlWrangler.FrmLogin .CreateNhSessionFactory(String)
        WriteCsWizard(DataTable,StreamWriter ,String,String)07002280800228022min 48s0216minSqlWrangler.Wizard.WriteCsWizard (DataTable,StreamWriter,String,String)
        WriteMaterializer(DataTable,StreamWriter ,IEnumerable<FieldDefinition>)053.5705270410426042min 36s0613minSqlWrangler.Wizard.WriteMaterializer (DataTable,StreamWriter,IEnumerable <FieldDefinition>)
        GetFields(DataTableReader)063.5704270510326032min 36s0713minSqlWrangler.Wizard.GetFields (DataTableReader)
        Compare(DataRow,DataTable,String)036.903270220525052min 30s0911minSqlWrangler.DataRowComparerViewer .Compare(DataRow,DataTable,String)
        WriteModelClass(DataTable,StreamWriter ,IEnumerable<FieldDefinition> ,MapperAttributeType)11006251100625062min 30s0316minSqlWrangler.Wizard.WriteModelClass (DataTable,StreamWriter,IEnumerable <FieldDefinition>,MapperAttributeType)
        ToggleMenuItems()12009241200924092min 24s0016minSqlWrangler.DataRowComparerViewer .ToggleMenuItems()
        SaveExternalFile(Boolean)09010240900824082min 24s0116minSqlWrangler.SqlClient.SaveExternalFile (Boolean)
        WriteMappings(DataTable,StreamWriter ,IEnumerable<FieldDefinition>)043.8507250610724072min 24s0813minSqlWrangler.Wizard.WriteMappings (DataTable,StreamWriter,IEnumerable <FieldDefinition>)
        GenerateInsertSql(DataRow)027.4108250321023102min 18s1010minSqliteTools.Table.GenerateInsertSql (DataRow)
        WizardToolStripMenuItem1_Click(Object ,EventArgs)10012221001122112min 12s0516minSqlWrangler.SqlClient .WizardToolStripMenuItem1_Click(Object ,EventArgs)
        GetSnippets()008.3311220121220122min 0s1210minSqlWrangler.FrmMain.GetSnippets()
        warning   Rule Violated:    Avoid types with poor cohesion

        4 types matched

        • Formatting: bold means added, underlined means code was changed, strike-bold means removed (since baseline)
        4 typesLack of Cohesion Of Methods (LCOM)# Methods# FieldspoorCohesionScoreDebtAnnual InterestFull Name
        DataRowComparerViewer30.821511434.7635min32min 0sSqlWrangler.DataRowComparerViewer
        SqlClient00.92029033011.5038min013minSqlWrangler.SqlClient
        FrmMain10.8811631117.67118min16minSqlWrangler.FrmMain
        FrmLogin20.8231121225.2126min22min 22sSqlWrangler.FrmLogin

        720
        Code Smells Regression  

        warning   Rule Violated:    From now, all methods added should respect basic quality principles

        3 methods matched

        • Formatting: bold means added, underlined means code was changed, strike-bold means removed (since baseline)
        3 methods# lines of code (LOC)# IL instructionsCyclomatic Complexity (CC)IL Cyclomatic Complexity (ILCC)IL Nesting Depth# Parameters# Variables# OverloadsDebtAnnual InterestFull Name
        ColorToolStripMenuItem_Click(Object ,EventArgs)11527317280612220105min01h 0minSqlWrangler.SqlClient .ColorToolStripMenuItem_Click(Object ,EventArgs)
        BuildSnippetMenu(List<TextSnippet> ,ToolStripMenuItem,Keys,Scintilla ,DataGridView)0300244090152105151115min11h 0minSqlWrangler.Services.SnippetMenuBuilder .BuildSnippetMenu(List<TextSnippet> ,ToolStripMenuItem,Keys,Scintilla ,DataGridView)
        InsertFields(Scintilla,DataGridView)214194251101322092125min21h 0minSqlWrangler.Services.SnippetMenuBuilder .InsertFields(Scintilla,DataGridView)
        warning   Rule Violated:    Avoid adding instance fields to a type that already had many instance fields

        1 type matched

        • Formatting: bold means added, underlined means code was changed, strike-bold means removed (since baseline)
        1 typenbOldFieldsnbNewFieldsaddedFieldsremovedFieldsDebtAnnual InterestFull Name
        SqlClient02903102 fields0no field020min020minSqlWrangler.SqlClient

        1130
        Object Oriented Design  

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

        3 types matched

        • Formatting: bold means added, underlined means code was changed, strike-bold means removed (since baseline)
        3 types# lines of code (LOC)DebtSeverityFull Name
        SnippetMenuBuilder04400min 30s0MediumSqlWrangler.Services.SnippetMenuBuilder
        ScintillaStyler21710min 30s1MediumSqlWrangler.Services.ScintillaStyler
        FieldDefinition11820min 30s2MediumSqlWrangler.FieldDefinition
        warning   Rule Violated:    A stateless class or structure might be turned into a static type

        2 types matched

        • Formatting: bold means added, underlined means code was changed, strike-bold means removed (since baseline)
        2 typesmethodsUsingMeDebtSeverityFull Name
        ScintillaStyler01 method02min 0s0LowSqlWrangler.Services.ScintillaStyler
        SnippetMenuBuilder11 method12min 0s1LowSqlWrangler.Services.SnippetMenuBuilder
        warning   Rule Violated:    Methods should be declared static if possible

        9 methods matched

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

        1110
        Design  

        warning   Rule Violated:    Don't use obsolete types, methods or fields

        1 method matched

        • Formatting: bold means added, underlined means code was changed, strike-bold means removed (since baseline)
        1 methodobsoleteUsageDebtSeverityFull Name
        .cctor()01 type05min0HighSqliteTools.SqliteTypes..cctor()

        431
        Architecture  

        warningCritical   Critical Rule Violated:    Avoid namespaces mutually dependent

        2 members matched

        • Formatting: bold means added, underlined means code was changed, strike-bold means removed (since baseline)
        2 types and methodsshouldntUsebecauseNamespaceshouldntUseNamespaceDebtAnnual InterestFull Name
        SqlClient12 typesSqlWranglerSqlWrangler.Services120min041minSqlWrangler.SqlClient
        .ctor(List<TextSnippet>)04 methodsSqlWranglerSqlWrangler.Services030min141minSqlWrangler.SqlClient..ctor(List <TextSnippet>)
        warning   Rule Violated:    Avoid namespaces dependency cycles

        1 namespace matched

        • Formatting: bold means added, underlined means code was changed, strike-bold means removed (since baseline)
        1 namespacecycleDebtSeverityFull Name
        SqlWrangler02 namespaces02h 0min0HighSqlWrangler
        warning   Rule Violated:    UI layer shouldn't use directly DB types

        7 types matched

        • Formatting: bold means added, underlined means code was changed, strike-bold means removed (since baseline)
        7 typesdbTypesAndMembersUsedDebtSeverityFull Name
        SnippetMenuBuilder34 types 2 methods336min2HighSqlWrangler.Services.SnippetMenuBuilder
        DataRowComparerViewer24 types 5 methods21h 0min1HighSqlWrangler.DataRowComparerViewer
        FrmExportSql62 types 1 method624min0HighSqlWrangler.FrmExportSql
        FrmLogin017 types 16 methods 1 field02h 36min3HighSqlWrangler.FrmLogin
        FrmMain51 type 2 methods528min6HighSqlWrangler.FrmMain
        SqlClient16 types 6 methods 1 field11h 20min5HighSqlWrangler.SqlClient
        Wizard44 types 2 methods436min4HighSqlWrangler.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
        SqlClient04 types 6 methods01h 0min4HighSqlWrangler.SqlClient
        Program41 type 1 method420min3HighSqlWrangler.Program

        730
        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:    Avoid public methods not publicly visible

        20 methods matched

        • Formatting: bold means added, underlined means code was changed, strike-bold means removed (since baseline)
        20 methodsparentTypeVisibilitydeclareMethodAsmethodsCallerDebtSeverityFull Name
        StyleElement(Scintilla)06Internal07Internal061 method060min 30s06LowSqlWrangler.Services.ScintillaStyler .StyleElement(Scintilla)
        BuildSnippetMenu(List<TextSnippet> ,ToolStripMenuItem,Keys,Scintilla ,DataGridView)05Internal06Internal081 method050min 30s05LowSqlWrangler.Services.SnippetMenuBuilder .BuildSnippetMenu(List<TextSnippet> ,ToolStripMenuItem,Keys,Scintilla ,DataGridView)
        get_TableName()07Internal00Private19no method070min 30s07LowSqlWrangler.FieldDefinition .get_TableName()
        set_TableName(String)09Internal09Internal071 method090min 30s09LowSqlWrangler.FieldDefinition .set_TableName(String)
        get_TableSchema()08Internal01Private17no method080min 30s08LowSqlWrangler.FieldDefinition .get_TableSchema()
        set_TableSchema(String)01Internal08Internal091 method010min 30s01LowSqlWrangler.FieldDefinition .set_TableSchema(String)
        get_ClassName()00Internal02Private18no method000min 30s00LowSqlWrangler.FieldDefinition .get_ClassName()
        set_ClassName(String)02Internal03Internal051 method020min 30s02LowSqlWrangler.FieldDefinition .set_ClassName(String)
        get_Name()04Internal04Internal006 methods040min 30s04LowSqlWrangler.FieldDefinition.get_Name()
        set_Name(String)03Internal05Internal101 method030min 30s03LowSqlWrangler.FieldDefinition.set_Name (String)
        get_DbFieldName()16Internal16Internal016 methods160min 30s16LowSqlWrangler.FieldDefinition .get_DbFieldName()
        set_DbFieldName(String)15Internal15Internal161 method150min 30s15LowSqlWrangler.FieldDefinition .set_DbFieldName(String)
        get_Length()17Internal17Internal151 method170min 30s17LowSqlWrangler.FieldDefinition.get_Length()
        set_Length(Int32)19Internal19Internal141 method190min 30s19LowSqlWrangler.FieldDefinition.set_Length (Int32)
        get_AllowsNull()18Internal18Internal025 methods180min 30s18LowSqlWrangler.FieldDefinition .get_AllowsNull()
        set_AllowsNull(Boolean)11Internal11Internal121 method110min 30s11LowSqlWrangler.FieldDefinition .set_AllowsNull(Boolean)
        get_Type()10Internal10Internal033 methods100min 30s10LowSqlWrangler.FieldDefinition.get_Type()
        set_Type(String)12Internal12Internal131 method120min 30s12LowSqlWrangler.FieldDefinition.set_Type (String)
        get_IsShortBool()14Internal14Internal042 methods140min 30s14LowSqlWrangler.FieldDefinition .get_IsShortBool()
        set_IsShortBool(Boolean)13Internal13Internal111 method130min 30s13LowSqlWrangler.FieldDefinition .set_IsShortBool(Boolean)

        1010
        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

        1820
        Naming Conventions  

        warning   Rule Violated:    Methods name should begin with an Upper character

        16 methods matched

        • Formatting: bold means added, underlined means code was changed, strike-bold means removed (since baseline)
        16 methodsDebtSeverityFull Name
        btnCancel_Click(Object,EventArgs)053min 0s05MediumSqlWrangler.FrmExportSql.btnCancel_Click (Object,EventArgs)
        btnOk_Click(Object,EventArgs)043min 0s04MediumSqlWrangler.FrmExportSql.btnOk_Click (Object,EventArgs)
        button1_Click(Object,EventArgs)073min 0s07MediumSqlWrangler.FrmLogin.button1_Click (Object,EventArgs)
        button2_Click(Object,EventArgs)063min 0s06MediumSqlWrangler.FrmLogin.button2_Click (Object,EventArgs)
        frmLogin_Load(Object,EventArgs)013min 0s01MediumSqlWrangler.FrmLogin.frmLogin_Load (Object,EventArgs)
        comboBox1_SelectedIndexChanged(Object ,EventArgs)003min 0s00MediumSqlWrangler.FrmLogin .comboBox1_SelectedIndexChanged(Object ,EventArgs)
        txtPassword_KeyDown(Object,KeyEventArgs)033min 0s03MediumSqlWrangler.FrmLogin.txtPassword_KeyDown (Object,KeyEventArgs)
        button3_Click(Object,EventArgs)023min 0s02MediumSqlWrangler.FrmLogin.button3_Click (Object,EventArgs)
        newToolStripMenuItem_Click_1(Object ,EventArgs)133min 0s13MediumSqlWrangler.FrmMain .newToolStripMenuItem_Click_1(Object ,EventArgs)
        frmMain_FormClosed(Object ,FormClosedEventArgs)123min 0s12MediumSqlWrangler.FrmMain.frmMain_FormClosed (Object,FormClosedEventArgs)
        frmMain_DragDrop(Object,DragEventArgs)153min 0s15MediumSqlWrangler.FrmMain.frmMain_DragDrop (Object,DragEventArgs)
        helpToolStripMenuItem_Click(Object ,EventArgs)143min 0s14MediumSqlWrangler.FrmMain .helpToolStripMenuItem_Click(Object ,EventArgs)
        aboutToolStripMenuItem_Click(Object ,EventArgs)093min 0s09MediumSqlWrangler.FrmMain .aboutToolStripMenuItem_Click(Object ,EventArgs)
        button1_Click(Object,EventArgs)083min 0s08MediumSqlWrangler.FrmNameInput.button1_Click (Object,EventArgs)
        button2_Click(Object,EventArgs)113min 0s11MediumSqlWrangler.FrmNameInput.button2_Click (Object,EventArgs)
        txtName_KeyPress(Object ,KeyPressEventArgs)103min 0s10MediumSqlWrangler.FrmNameInput .txtName_KeyPress(Object ,KeyPressEventArgs)
        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

          7 quality gates matched

          7 quality gatesEvolutionBaselineStatusStatusBaselineValueValueFull Name
          Blocker Issues23Pass3Pass0 issues0 issuesQuality Gate
          Critical Issues01Pass4Pass0 issues0 issuesQuality Gate
          New Blocker / Critical / High IssuesN/A6N/A0Fail0null9 issuesQuality Gate
          Percentage Debt30Pass6Pass6.82 %7.12 %Quality Gate
          New Debt since BaselineN/A5N/A1Warn6null0.086 man-daysQuality Gate
          Debt Rating per Namespace12Pass5Pass0 namespaces0 namespacesQuality Gate
          New Annual Interest since BaselineN/A4N/A2Warn4null0.57 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 Fail:    New Blocker / Critical / High Issues

          9 issues matched

          9 issuesSeverityDebtAnnual InterestFull Name
          High issue on: SqlWrangler.SqlClient .ColorToolStripMenuItem_Click(Object ,EventArgs)2High65min21h 0minRule violated: From now, all methods added should respect basic quality principles
          High issue on: SqlWrangler.Services .SnippetMenuBuilder.BuildSnippetMenu (List<TextSnippet>,ToolStripMenuItem ,Keys,Scintilla,DataGridView)3High55min11h 0minRule violated: From now, all methods added should respect basic quality principles
          High issue on: SqlWrangler.Services .SnippetMenuBuilder.InsertFields (Scintilla,DataGridView)0High85min01h 0minRule violated: From now, all methods added should respect basic quality principles
          High issue on: SqlWrangler.SqlClient1High320min520minRule violated: Avoid adding instance fields to a type that already had many instance fields
          High issue on: SqliteTools.SqliteTypes..cctor()4High75min620minRule violated: Don't use obsolete types, methods or fields
          High issue on: SqlWrangler.SqlClient7High420min341minRule violated: Avoid namespaces mutually dependent
          High issue on: SqlWrangler.SqlClient. .ctor(List<TextSnippet>)8High230min441minRule violated: Avoid namespaces mutually dependent
          High issue on: SqlWrangler5High02h 0min720minRule violated: Avoid namespaces dependency cycles
          High issue on: SqlWrangler.Services.SnippetMenuBuilder6High136min820minRule violated: UI layer shouldn't use directly DB types

          Statistics

          Stat   Severity   Debt   Annual Interest
          Sum:-4h 6min5h 43min
          Average:-27min38min
          Minimum:-5min20min
          Maximum:-2h 0min1h 0min
          Standard deviation:-34min17min
          Variance:-149d38d
          ok   Quality Gate Pass:    Percentage Debt

          Scalar Result: 7.12 %

          ok   Quality Gate Warn:    New Debt since Baseline

          Scalar Result: 0.086 man-days

          ok   Quality Gate Pass:    Debt Rating per Namespace

          No namespace matched

          ok   Quality Gate Warn:    New Annual Interest since Baseline

          Scalar Result: 0.57 man-days

          Hot Spots

          ok   Code Query:    Types Hot Spots

          13 types matched

          13 typesDebtIssuesAnnual InterestBreaking Point# lines of code (LOC)DebtRatingDebtRatioFull Name
          SqlClient005h 41min0212 issues004h 16min06486d0040706B048.41SqlWrangler.SqlClient
          FrmLogin013h 43min0113 issues031h 10min001 155d0220501C0311.31SqlWrangler.FrmLogin
          FrmMain021h 36min0410 issues041h 8min05514d0511005B058.13SqlWrangler.FrmMain
          DataRowComparerViewer031h 20min057 issues0553min03555d0122712A083.64SqlWrangler.DataRowComparerViewer
          FrmExportSql041h 8min076 issues0648min04517d0412904B065.32SqlWrangler.FrmExportSql
          Wizard0556min0310 issues021h 38min10209d0316910A093.61SqlWrangler.Wizard
          SnippetMenuBuilder0652min067 issues012h 38min11120d084402C0212.54SqlWrangler.Services.SnippetMenuBuilder
          Table0732min085 issues0739min09296d067411A074.11SqliteTools.Table
          Program0820min111 issue0920min08365d11300D0046.3SqlWrangler.Program
          FrmNameInput1014min104 issues108min02638d076207A122.1SqlWrangler.FrmNameInput
          FieldDefinition0914min0023 issues118min01638d091808A103.45SqlWrangler.FieldDefinition
          SqliteTypes115min121 issue0820min1291d12103C0114.47SqliteTools.SqliteTypes
          ScintillaStyler124min 0s094 issues124min 0s07365d101709A112.31SqlWrangler.Services.ScintillaStyler

          Statistics

          Stat   Debt   Issues   Annual Interest   Breaking Point   # lines of code (LOC)   DebtRating   DebtRatio
          Sum:2d 0h1031d 6h5 952d1 466-125.69
          Average:1h 17min7.921h 5min457d112.77-9.67
          Minimum:4min 0s14min 0s91d1-2.1
          Maximum:5h 41min234h 16min1 155d407-46.3
          Standard deviation:1h 34min5.681h 8min266d112-11.27
          Variance:1 122d32.22594doverflow12 543-127.11
          ok   Code Query:    Types to Fix Priority

          8 types matched

          8 typesBreaking PointDebtAnnual InterestIssues# lines of code (LOC)DebtRatingDebtRatioFull Name
          SnippetMenuBuilder7120d652min12h 38min57 issues7440C012.54SqlWrangler.Services.SnippetMenuBuilder
          Wizard6209d556min21h 38min310 issues31696A73.61SqlWrangler.Wizard
          Table5296d732min739min75 issues6747A54.11SqliteTools.Table
          SqlClient4486d05h 41min04h 16min112 issues04072B28.41SqlWrangler.SqlClient
          FrmMain3514d21h 36min41h 8min210 issues51103B38.13SqlWrangler.FrmMain
          FrmExportSql2517d41h 8min648min66 issues41294B45.32SqlWrangler.FrmExportSql
          DataRowComparerViewer1555d31h 20min553min47 issues12275A63.64SqlWrangler.DataRowComparerViewer
          FrmLogin01 155d13h 43min31h 10min013 issues22051C111.31SqlWrangler.FrmLogin

          Statistics

          Stat   Breaking Point   Debt   Annual Interest   Issues   # lines of code (LOC)   DebtRating   DebtRatio
          Sum:3 854d1d 7h1d 5h701 365-57.06
          Average:481d1h 58min1h 39min8.75170.62-7.13
          Minimum:120d32min39min544-3.61
          Maximum:1 155d5h 41min4h 16min13407-12.54
          Standard deviation:296d1h 40min1h 9min2.73106.66-3.29
          Variance:overflow1 265d596d7.4411 377-10.79
          ok   Code Query:    Issues to Fix Priority

          104 issues matched

          104 issuesDebtAnnual InterestBreaking PointCodeElementFull Name
          High issue on: SqlWrangler.SqlClient .ColorToolStripMenuItem_Click(Object ,EventArgs)0315min0021h 0min07730dColorToolStripMenuItem_Click(Object,EventArgs)Rule violated: From now, all methods added should respect basic quality principles
          High issue on: SqlWrangler.Services .SnippetMenuBuilder.BuildSnippetMenu (List<TextSnippet>,ToolStripMenuItem ,Keys,Scintilla,DataGridView)0325min0011h 0min07530dBuildSnippetMenu(List<TextSnippet>,ToolStripMenuItem,Keys,Scintilla,DataGridView)Rule violated: From now, all methods added should respect basic quality principles
          High issue on: SqlWrangler.Services .SnippetMenuBuilder.InsertFields (Scintilla,DataGridView)0295min0001h 0min07630dInsertFields(Scintilla,DataGridView)Rule violated: From now, all methods added should respect basic quality principles
          Medium issue on: SqlWrangler.SqlClient .WizardToolStripMenuItem1_Click(Object ,EventArgs)0632min 12s02616min07450dWizardToolStripMenuItem1_Click(Object,EventArgs)Rule violated: Avoid methods potentially poorly commented
          Medium issue on: SqlWrangler .DataRowComparerViewer.ToggleMenuItems()0602min 24s02416min07354dToggleMenuItems()Rule violated: Avoid methods potentially poorly commented
          Medium issue on: SqlWrangler.SqlClient .SaveExternalFile(Boolean)0612min 24s02516min07254dSaveExternalFile(Boolean)Rule violated: Avoid methods potentially poorly commented
          Medium issue on: SqlWrangler.Wizard .WriteModelClass(DataTable,StreamWriter ,IEnumerable<FieldDefinition> ,MapperAttributeType)0562min 30s02316min07157dWriteModelClass(DataTable,StreamWriter,IEnumerable<FieldDefinition>,MapperAttributeType)Rule violated: Avoid methods potentially poorly commented
          Medium issue on: SqlWrangler.Wizard .WriteCsWizard(DataTable,StreamWriter ,String,String)0532min 48s02216min07063dWriteCsWizard(DataTable,StreamWriter,String,String)Rule violated: Avoid methods potentially poorly commented
          Medium issue on: SqlWrangler.Wizard .WriteMappings(DataTable,StreamWriter ,IEnumerable<FieldDefinition>)0592min 24s02913min06965dWriteMappings(DataTable,StreamWriter,IEnumerable<FieldDefinition>)Rule violated: Avoid methods potentially poorly commented
          Medium issue on: SqlWrangler.Services .SnippetMenuBuilder.BuildSnippetMenu (List<TextSnippet>,ToolStripMenuItem ,Keys,Scintilla,DataGridView)0403min 0s02116min06868dBuildSnippetMenu(List<TextSnippet>,ToolStripMenuItem,Keys,Scintilla,DataGridView)Rule violated: Avoid methods potentially poorly commented
          Medium issue on: SqlWrangler.Wizard .WriteMaterializer(DataTable ,StreamWriter,IEnumerable <FieldDefinition>)0542min 36s02813min06770dWriteMaterializer(DataTable,StreamWriter,IEnumerable<FieldDefinition>)Rule violated: Avoid methods potentially poorly commented
          Medium issue on: SqlWrangler.Wizard .GetFields(DataTableReader)0552min 36s02713min06670dGetFields(DataTableReader)Rule violated: Avoid methods potentially poorly commented
          Medium issue on: SqlWrangler.FrmMain.GetSnippets()0662min 0s03410min06571dGetSnippets()Rule violated: Avoid methods potentially poorly commented
          Medium issue on: SqliteTools.Table .GenerateInsertSql(DataRow)0622min 18s03210min06477dGenerateInsertSql(DataRow)Rule violated: Avoid methods potentially poorly commented
          Medium issue on: SqlWrangler .DataRowComparerViewer.Compare(DataRow ,DataTable,String)0582min 30s03111min06381dCompare(DataRow,DataTable,String)Rule violated: Avoid methods potentially poorly commented
          Medium issue on: SqlWrangler.Services.SnippetMenuBuilder0940min 30s0392min 0s05891dSnippetMenuBuilderRule violated: Class with no descendant should be sealed if possible
          Medium issue on: SqlWrangler.FieldDefinition0990min 30s0402min 0s06091dFieldDefinitionRule violated: Class with no descendant should be sealed if possible
          Medium issue on: SqlWrangler.Services.ScintillaStyler0980min 30s0412min 0s05991dScintillaStylerRule violated: Class with no descendant should be sealed if possible
          High issue on: SqliteTools.SqliteTypes..cctor()0305min01020min05791d.cctor()Rule violated: Don't use obsolete types, methods or fields
          Medium issue on: SqlWrangler .FieldDefinition.get_TableName()0900min 30s0532min 0s06291dget_TableName()Rule violated: Methods that could have a lower visibility
          Medium issue on: SqlWrangler .FieldDefinition.get_TableSchema()0890min 30s0562min 0s06191dget_TableSchema()Rule violated: Methods that could have a lower visibility
          Medium issue on: SqlWrangler .FieldDefinition.get_ClassName()0880min 30s0552min 0s05691dget_ClassName()Rule violated: Methods that could have a lower visibility
          Medium issue on: SqlWrangler.FrmLogin .CreateNhSessionFactory(String)0334min 6s03310min055145dCreateNhSessionFactory(String)Rule violated: Avoid methods potentially poorly commented
          High issue on: SqlWrangler.SqlClient01720min00341min054175dSqlClientRule violated: Avoid namespaces mutually dependent
          Medium issue on: SqliteTools.Table.IsString(Type)0701min 0s0502min 0s048182dIsString(Type)Rule violated: Methods should be declared static if possible
          Medium issue on: SqliteTools.Table.IsDateTime(Type)0711min 0s0512min 0s047182dIsDateTime(Type)Rule violated: Methods should be declared static if possible
          Medium issue on: SqlWrangler .FrmExportSql.ExportSql(FileInfo ,DataTable,String,String,Boolean,Boolean )0681min 0s0492min 0s049182dExportSql(FileInfo,DataTable,String,String,Boolean,Boolean)Rule violated: Methods should be declared static if possible
          Medium issue on: SqlWrangler.FrmLogin .GetExcelConnectionString(String)0691min 0s0472min 0s053182dGetExcelConnectionString(String)Rule violated: Methods should be declared static if possible
          Medium issue on: SqlWrangler.Wizard .WriteLinq2DbField(StreamWriter ,FieldDefinition,String)0741min 0s0482min 0s052182dWriteLinq2DbField(StreamWriter,FieldDefinition,String)Rule violated: Methods should be declared static if possible
          Medium issue on: SqlWrangler.Wizard .WriteEntityFrameworkField(StreamWriter ,FieldDefinition,String)0731min 0s0542min 0s051182dWriteEntityFrameworkField(StreamWriter,FieldDefinition,String)Rule violated: Methods should be declared static if possible
          Medium issue on: SqlWrangler.Services .ScintillaStyler.StyleElement(Scintilla)0721min 0s0522min 0s050182dStyleElement(Scintilla)Rule violated: Methods should be declared static if possible
          High issue on: SqlWrangler.SqlClient. .ctor(List<TextSnippet>)01130min00441min046262d.ctor(List<TextSnippet>)Rule violated: Avoid namespaces mutually dependent
          Medium issue on: SqlWrangler.FrmLogin .CreateNhSessionFactory(String)0671min 30s0462min 0s045273dCreateNhSessionFactory(String)Rule violated: Methods should be declared static if possible
          High issue on: SqlWrangler.SqlClient01620min00520min044354dSqlClientRule violated: Avoid adding instance fields to a type that already had many instance fields
          High issue on: SqlWrangler.Program01520min02020min042365dProgramRule violated: UI layer shouldn't use directly DAL layer
          High issue on: SqliteTools.Table .GenerateInsertSql(DataRow)01820min00920min043365dGenerateInsertSql(DataRow)Rule violated: Do not raise too general exception types
          High issue on: SqlWrangler.FrmExportSql01424min01720min041438dFrmExportSqlRule violated: UI layer shouldn't use directly DB types
          Medium issue on: SqlWrangler.Wizard.GetFieldName(String)0572min 30s0452min 0s040456dGetFieldName(String)Rule violated: Methods should be declared static if possible
          High issue on: SqlWrangler.FrmMain01328min01820min039511dFrmMainRule violated: UI layer shouldn't use directly DB types
          High issue on: SqlWrangler.FrmMain01228min01920min038511dFrmMainRule violated: UI layer shouldn't use directly DAL layer
          Medium issue on: SqlWrangler .FrmExportSql.btnCancel_Click(Object ,EventArgs)0463min 0s0432min 0s026547dbtnCancel_Click(Object,EventArgs)Rule violated: Methods name should begin with an Upper character
          Medium issue on: SqlWrangler .FrmExportSql.btnOk_Click(Object ,EventArgs)0413min 0s0442min 0s025547dbtnOk_Click(Object,EventArgs)Rule violated: Methods name should begin with an Upper character
          Medium issue on: SqlWrangler.FrmLogin .button1_Click(Object,EventArgs)0423min 0s0422min 0s028547dbutton1_Click(Object,EventArgs)Rule violated: Methods name should begin with an Upper character
          Medium issue on: SqlWrangler.FrmLogin .button2_Click(Object,EventArgs)0433min 0s0712min 0s023547dbutton2_Click(Object,EventArgs)Rule violated: Methods name should begin with an Upper character
          Medium issue on: SqlWrangler.FrmLogin .frmLogin_Load(Object,EventArgs)0453min 0s0722min 0s022547dfrmLogin_Load(Object,EventArgs)Rule violated: Methods name should begin with an Upper character
          Medium issue on: SqlWrangler.FrmLogin .comboBox1_SelectedIndexChanged(Object ,EventArgs)0443min 0s0702min 0s021547dcomboBox1_SelectedIndexChanged(Object,EventArgs)Rule violated: Methods name should begin with an Upper character
          Medium issue on: SqlWrangler.FrmLogin .txtPassword_KeyDown(Object,KeyEventArgs )0363min 0s0682min 0s024547dtxtPassword_KeyDown(Object,KeyEventArgs)Rule violated: Methods name should begin with an Upper character
          Medium issue on: SqlWrangler.FrmLogin .button3_Click(Object,EventArgs)0353min 0s0692min 0s029547dbutton3_Click(Object,EventArgs)Rule violated: Methods name should begin with an Upper character
          Medium issue on: SqlWrangler.FrmMain .newToolStripMenuItem_Click_1(Object ,EventArgs)0343min 0s0762min 0s027547dnewToolStripMenuItem_Click_1(Object,EventArgs)Rule violated: Methods name should begin with an Upper character
          Medium issue on: SqlWrangler.FrmMain .frmMain_FormClosed(Object ,FormClosedEventArgs)0393min 0s0772min 0s033547dfrmMain_FormClosed(Object,FormClosedEventArgs)Rule violated: Methods name should begin with an Upper character
          Medium issue on: SqlWrangler.FrmMain .frmMain_DragDrop(Object,DragEventArgs)0383min 0s0752min 0s035547dfrmMain_DragDrop(Object,DragEventArgs)Rule violated: Methods name should begin with an Upper character
          Medium issue on: SqlWrangler.FrmMain .helpToolStripMenuItem_Click(Object ,EventArgs)0373min 0s0732min 0s034547dhelpToolStripMenuItem_Click(Object,EventArgs)Rule violated: Methods name should begin with an Upper character
          Medium issue on: SqlWrangler.FrmMain .aboutToolStripMenuItem_Click(Object ,EventArgs)0473min 0s0742min 0s037547daboutToolStripMenuItem_Click(Object,EventArgs)Rule violated: Methods name should begin with an Upper character
          Medium issue on: SqlWrangler .FrmNameInput.button1_Click(Object ,EventArgs)0513min 0s0672min 0s036547dbutton1_Click(Object,EventArgs)Rule violated: Methods name should begin with an Upper character
          Medium issue on: SqlWrangler .FrmNameInput.button2_Click(Object ,EventArgs)0523min 0s0602min 0s031547dbutton2_Click(Object,EventArgs)Rule violated: Methods name should begin with an Upper character
          Medium issue on: SqlWrangler .FrmNameInput.txtName_KeyPress(Object ,KeyPressEventArgs)0503min 0s0612min 0s030547dtxtName_KeyPress(Object,KeyPressEventArgs)Rule violated: Methods name should begin with an Upper character
          Medium issue on: SqlWrangler.DataRowComparerViewer .ClearAllCheckFieldsToolStripMenuItem_Cl ick(Object,EventArgs)0483min 0s0592min 0s032547dClearAllCheckFieldsToolStripMenuItem_Click(Object,EventArgs)Rule violated: Avoid methods with name too long
          High issue on: SqlWrangler.FrmExportSql00932min00820min019584dFrmExportSqlRule violated: UI layer shouldn't use directly DAL layer
          High issue on: SqlWrangler.FrmLogin01032min00620min020584dFrmLoginRule violated: UI layer shouldn't use directly DAL layer
          Medium issue on: SqliteTools.Table .GenerateInsertSql(DataRow)0208min0375min018584dGenerateInsertSql(DataRow)Rule violated: Float and Date Parsing must be culture aware
          High issue on: SqlWrangler.Wizard00736min00720min017657dWizardRule violated: UI layer shouldn't use directly DB types
          High issue on: SqlWrangler.Services.SnippetMenuBuilder00836min01320min016657dSnippetMenuBuilderRule violated: UI layer shouldn't use directly DB types
          Medium issue on: SqlWrangler.DataRowComparerViewer0225min0572min 0s009912dDataRowComparerViewerRule violated: Avoid types with poor cohesion
          Medium issue on: SqlWrangler .DataRowComparerViewer.components0255min0582min 0s012912dcomponentsRule violated: Fields should be marked as ReadOnly when possible
          Medium issue on: SqlWrangler.FrmExportSql.components0245min0652min 0s011912dcomponentsRule violated: Fields should be marked as ReadOnly when possible
          Medium issue on: SqlWrangler.FrmLogin.components0235min0662min 0s010912dcomponentsRule violated: Fields should be marked as ReadOnly when possible
          Medium issue on: SqlWrangler.FrmMain.components0285min0642min 0s015912dcomponentsRule violated: Fields should be marked as ReadOnly when possible
          Medium issue on: SqlWrangler.FrmNameInput.components0275min0622min 0s014912dcomponentsRule violated: Fields should be marked as ReadOnly when possible
          Medium issue on: SqlWrangler.SqlClient.components0265min0632min 0s013912dcomponentsRule violated: Fields should be marked as ReadOnly when possible
          Medium issue on: SqlWrangler.FrmLogin0216min0382min 22s008941dFrmLoginRule violated: Avoid types with poor cohesion
          Medium issue on: SqlWrangler.FrmMain01918min0356min0071 043dFrmMainRule violated: Avoid types with poor cohesion
          Medium issue on: SqlWrangler.SqlClient00638min03013min0061 071dSqlClientRule violated: Avoid types with poor cohesion
          High issue on: SqlWrangler.DataRowComparerViewer0051h 0min01220min0051 095dDataRowComparerViewerRule violated: UI layer shouldn't use directly DB types
          High issue on: SqlWrangler.SqlClient0041h 0min01420min0041 095dSqlClientRule violated: UI layer shouldn't use directly DAL layer
          High issue on: SqlWrangler.SqlClient0021h 20min01620min0031 460dSqlClientRule violated: UI layer shouldn't use directly DB types
          High issue on: SqlWrangler0012h 0min01520min0022 190dSqlWranglerRule violated: Avoid namespaces dependency cycles
          High issue on: SqlWrangler.FrmLogin0002h 36min01120min0012 847dFrmLoginRule violated: UI layer shouldn't use directly DB types
          Medium issue on: SqlWrangler.SqlClient0031h 15min0365min0005 186dSqlClientRule violated: Avoid types with too many methods
          Low issue on: SqlWrangler.Services.ScintillaStyler0642min 0s0920min 0s09200:00:00ScintillaStylerRule violated: A stateless class or structure might be turned into a static type
          Low issue on: SqlWrangler.Services.SnippetMenuBuilder0652min 0s0930min 0s09300:00:00SnippetMenuBuilderRule violated: A stateless class or structure might be turned into a static type
          Low issue on: SqlWrangler.FieldDefinition0493min 0s0910min 0s09100:00:00FieldDefinitionRule violated: Types that could be declared as private, nested in a parent type
          Low issue on: SqlWrangler .FieldDefinition.get_TableName()0860min 30s0890min 0s08900:00:00get_TableName()Rule violated: Avoid public methods not publicly visible
          Low issue on: SqlWrangler .FieldDefinition.set_TableName(String)0850min 30s0900min 0s09000:00:00set_TableName(String)Rule violated: Avoid public methods not publicly visible
          Low issue on: SqlWrangler .FieldDefinition.get_TableSchema()0840min 30s0940min 0s09400:00:00get_TableSchema()Rule violated: Avoid public methods not publicly visible
          Low issue on: SqlWrangler .FieldDefinition.set_TableSchema(String)0770min 30s0980min 0s09800:00:00set_TableSchema(String)Rule violated: Avoid public methods not publicly visible
          Low issue on: SqlWrangler .FieldDefinition.get_ClassName()0760min 30s0990min 0s09900:00:00get_ClassName()Rule violated: Avoid public methods not publicly visible
          Low issue on: SqlWrangler .FieldDefinition.set_ClassName(String)0750min 30s0970min 0s09700:00:00set_ClassName(String)Rule violated: Avoid public methods not publicly visible
          Low issue on: SqlWrangler.FieldDefinition.get_Name()0790min 30s0950min 0s09500:00:00get_Name()Rule violated: Avoid public methods not publicly visible
          Low issue on: SqlWrangler .FieldDefinition.set_Name(String)0780min 30s0960min 0s09600:00:00set_Name(String)Rule violated: Avoid public methods not publicly visible
          Low issue on: SqlWrangler .FieldDefinition.get_DbFieldName()0870min 30s0810min 0s08100:00:00get_DbFieldName()Rule violated: Avoid public methods not publicly visible
          Low issue on: SqlWrangler .FieldDefinition.set_DbFieldName(String)0960min 30s0820min 0s08200:00:00set_DbFieldName(String)Rule violated: Avoid public methods not publicly visible
          Low issue on: SqlWrangler .FieldDefinition.get_Length()0950min 30s0800min 0s08000:00:00get_Length()Rule violated: Avoid public methods not publicly visible
          Low issue on: SqlWrangler .FieldDefinition.set_Length(Int32)0910min 30s0780min 0s07800:00:00set_Length(Int32)Rule violated: Avoid public methods not publicly visible
          Low issue on: SqlWrangler .FieldDefinition.get_AllowsNull()0920min 30s0790min 0s07900:00:00get_AllowsNull()Rule violated: Avoid public methods not publicly visible
          Low issue on: SqlWrangler .FieldDefinition.set_AllowsNull(Boolean)0930min 30s0830min 0s08300:00:00set_AllowsNull(Boolean)Rule violated: Avoid public methods not publicly visible
          Low issue on: SqlWrangler.FieldDefinition.get_Type()0970min 30s0870min 0s08700:00:00get_Type()Rule violated: Avoid public methods not publicly visible
          Low issue on: SqlWrangler .FieldDefinition.set_Type(String)0800min 30s0880min 0s08800:00:00set_Type(String)Rule violated: Avoid public methods not publicly visible
          Low issue on: SqlWrangler .FieldDefinition.get_IsShortBool()0810min 30s0860min 0s08600:00:00get_IsShortBool()Rule violated: Avoid public methods not publicly visible
          Low issue on: SqlWrangler .FieldDefinition.set_IsShortBool(Boolean )0820min 30s0840min 0s08400:00:00set_IsShortBool(Boolean)Rule violated: Avoid public methods not publicly visible
          Low issue on: SqlWrangler.Services .ScintillaStyler.StyleElement(Scintilla)0830min 30s0850min 0s08500:00:00StyleElement(Scintilla)Rule violated: Avoid public methods not publicly visible

          Statistics

          Stat   Debt   Annual Interest   Breaking Point   CodeElement
          Sum:2d 2h1d 6h42 343d-
          Average:10min8min407d-
          Minimum:0min 30s0min 0s00:00:00-
          Maximum:2h 36min1h 0min5 186d-
          Standard deviation:23min12min656d-
          Variance:69d19d 4hoverflow-
          ok   Code Query:    Debt and Issues per Rule

          22 rules matched

          22 rulesIssuesDebtAnnual InterestBreaking PointCategoryFull Name
          UI layer shouldn't use directly DB types047 issues007h 0min022h 20min021 095dProject Rules \ ArchitectureRule
          UI layer shouldn't use directly DAL layer065 issues012h 52min031h 40min05627dProject Rules \ ArchitectureRule
          Avoid namespaces dependency cycles141 issue022h 0min0920min012 190dProject Rules \ ArchitectureRule
          Avoid types with too many methods151 issue031h 15min155min005 186dProject Rules \ Code SmellsRule
          Avoid types with poor cohesion074 issues041h 9min0624min031 037dProject Rules \ Code SmellsRule
          Avoid namespaces mutually dependent132 issues0550min041h 23min12219dProject Rules \ ArchitectureRule
          Methods name should begin with an Upper character0116 issues0648min0532min07547dProject Rules \ Naming ConventionsRule
          Avoid methods potentially poorly commented0213 issues0733min012h 58min1669dProject Rules \ Code SmellsRule
          Fields should be marked as ReadOnly when possible056 issues0830min1212min04912dProject Rules \ ImmutabilityRule
          Avoid adding instance fields to a type that already had many instance fields211 issue1020min0720min10354dProject Rules \ Code Smells RegressionRule
          Do not raise too general exception types161 issue0920min0820min09365dProject Rules \ .NET Framework Usage \ SystemRule
          From now, all methods added should respect basic quality principles083 issues1115min003h 0min1730dProject Rules \ Code Smells RegressionRule
          Methods should be declared static if possible039 issues1211min1118min11223dProject Rules \ Object Oriented DesignRule
          Avoid public methods not publicly visible0020 issues1310min180min 0s1800:00:00Project Rules \ VisibilityRule
          Avoid defining multiple types in a source file113 issues149min200min 0s2100:00:00Project Rules \ Source Files OrganizationRule
          Float and Date Parsing must be culture aware171 issue158min165min06584dProject Rules \ .NET Framework Usage \ System.GlobalizationRule
          Don't use obsolete types, methods or fields191 issue165min1020min1491dProject Rules \ DesignRule
          A stateless class or structure might be turned into a static type122 issues174min 0s190min 0s2000:00:00Project Rules \ Object Oriented DesignRule
          Types that could be declared as private, nested in a parent type181 issue193min 0s210min 0s1900:00:00Project Rules \ VisibilityRule
          Avoid methods with name too long201 issue183min 0s172min 0s08547dProject Rules \ Naming ConventionsRule
          Class with no descendant should be sealed if possible103 issues211min 30s146min1591dProject Rules \ Object Oriented DesignRule
          Methods that could have a lower visibility093 issues201min 30s136min1391dProject Rules \ VisibilityRule

          Statistics

          Stat   Issues   Debt   Annual Interest   Breaking Point   Category
          Sum:1042d 2h1d 6h14 263d-
          Average:4.7351min39min648d-
          Minimum:11min 30s0min 0s00:00:00-
          Maximum:207h 0min3h 0min5 186d-
          Standard deviation:5.191h 30min56min1 113d-
          Variance:26.931 029d398doverflow-
          ok   Code Query:    New Debt and Issues per Rule

          13 rules matched

          13 rulesIssuesAddedIssuesFixedIssuesDebtDebtDiffCategoryFull Name
          Avoid namespaces dependency cycles061 issue05no issue101 issue012h 0min002h 0minProject Rules \ ArchitectureRule
          Avoid namespaces mutually dependent012 issues06no issue072 issues0350min0150minProject Rules \ ArchitectureRule
          Avoid adding instance fields to a type that already had many instance fields071 issue04no issue121 issue0520min0220minProject Rules \ Code Smells RegressionRule
          From now, all methods added should respect basic quality principles003 issues02no issue053 issues0615min0315minProject Rules \ Code Smells RegressionRule
          UI layer shouldn't use directly DB types051 issue03no issue037 issues007h 0min048minProject Rules \ ArchitectureRule
          Don't use obsolete types, methods or fields111 issue07no issue111 issue095min055minProject Rules \ DesignRule
          A stateless class or structure might be turned into a static type032 issues11no issue082 issues104min 0s064min 0sProject Rules \ Object Oriented DesignRule
          Avoid types with poor cohesion101 issue12no issue044 issues021h 9min072min 42sProject Rules \ Code SmellsRule
          Class with no descendant should be sealed if possible022 issues10no issue063 issues121min 30s101min 0sProject Rules \ Object Oriented DesignRule
          Methods should be declared static if possible081 issue08no issue029 issues0711min091min 0sProject Rules \ Object Oriented DesignRule
          Avoid public methods not publicly visible042 issues09no issue0020 issues0810min081min 0sProject Rules \ VisibilityRule
          Avoid methods with name too long091 issue001 issue091 issue113min 0s110min 0sProject Rules \ Naming ConventionsRule
          Avoid methods potentially poorly commented121 issue011 issue0113 issues0433min12-(1min 30s)Project Rules \ Code SmellsRule

          Statistics

          Stat   IssuesAdded   IssuesFixed   Issues   Debt   DebtDiff   Category
          Sum:192671d 4h3h 46min-
          Average:1.460.155.1558min17min-
          Minimum:1011min 30s-(1min 30s)-
          Maximum:31207h 0min2h 0min-
          Standard deviation:0.630.365.541h 49min32min-
          Variance:0.40.1330.751 494d131d-
          ok   Code Query:    Debt and Issues per Code Element

          77 code elements matched

          77 code elementsIssuesDebtAnnual InterestBreaking PointFull Name
          SqlClient007 issues004h 56min002h 0min09897dSqlWrangler.SqlClient
          FrmLogin053 issues013h 14min0542min011 672dSqlWrangler.FrmLogin
          SqlWrangler321 issue022h 0min1120min002 190dSqlWrangler
          FrmMain063 issues031h 14min0446min13586dSqlWrangler.FrmMain
          DataRowComparerViewer023 issues041h 8min0922min021 128dSqlWrangler.DataRowComparerViewer
          FrmExportSql142 issues0556min0740min31511dSqlWrangler.FrmExportSql
          Wizard152 issues0639min1220min10711dSqlWrangler.Wizard
          SnippetMenuBuilder043 issues0738min1022min12638dSqlWrangler.Services.SnippetMenuBuilder
          GenerateInsertSql(DataRow)033 issues0830min0835min35308dSqliteTools.Table.GenerateInsertSql (DataRow)
          .ctor(List<TextSnippet>)331 issue0930min0641min37262dSqlWrangler.SqlClient..ctor(List <TextSnippet>)
          Program281 issue1020min1420min34365dSqlWrangler.Program
          BuildSnippetMenu(List<TextSnippet> ,ToolStripMenuItem,Keys,Scintilla ,DataGridView)013 issues118min011h 16min5940dSqlWrangler.Services.SnippetMenuBuilder .BuildSnippetMenu(List<TextSnippet> ,ToolStripMenuItem,Keys,Scintilla ,DataGridView)
          CreateNhSessionFactory(String)132 issues125min2312min47166dSqlWrangler.FrmLogin .CreateNhSessionFactory(String)
          .cctor()291 issue195min1320min4891dSqliteTools.SqliteTypes..cctor()
          components301 issue185min352min 0s05912dSqlWrangler.DataRowComparerViewer .components
          components341 issue215min362min 0s04912dSqlWrangler.FrmExportSql.components
          components381 issue205min342min 0s08912dSqlWrangler.FrmLogin.components
          components391 issue175min322min 0s03912dSqlWrangler.FrmMain.components
          components401 issue145min332min 0s06912dSqlWrangler.FrmNameInput.components
          ColorToolStripMenuItem_Click(Object ,EventArgs)351 issue135min021h 0min6030dSqlWrangler.SqlClient .ColorToolStripMenuItem_Click(Object ,EventArgs)
          components361 issue165min372min 0s07912dSqlWrangler.SqlClient.components
          InsertFields(Scintilla,DataGridView)371 issue155min031h 0min6130dSqlWrangler.Services.SnippetMenuBuilder .InsertFields(Scintilla,DataGridView)
          FieldDefinition092 issues223min 30s412min 0s11638dSqlWrangler.FieldDefinition
          ClearAllCheckFieldsToolStripMenuItem_Cli ck(Object,EventArgs)191 issue333min 0s422min 0s25547dSqlWrangler.DataRowComparerViewer .ClearAllCheckFieldsToolStripMenuItem_Cl ick(Object,EventArgs)
          btnCancel_Click(Object,EventArgs)201 issue323min 0s402min 0s26547dSqlWrangler.FrmExportSql.btnCancel_Click (Object,EventArgs)
          btnOk_Click(Object,EventArgs)171 issue313min 0s382min 0s23547dSqlWrangler.FrmExportSql.btnOk_Click (Object,EventArgs)
          button1_Click(Object,EventArgs)251 issue343min 0s392min 0s24547dSqlWrangler.FrmLogin.button1_Click (Object,EventArgs)
          button2_Click(Object,EventArgs)261 issue373min 0s272min 0s29547dSqlWrangler.FrmLogin.button2_Click (Object,EventArgs)
          frmLogin_Load(Object,EventArgs)221 issue363min 0s282min 0s30547dSqlWrangler.FrmLogin.frmLogin_Load (Object,EventArgs)
          comboBox1_SelectedIndexChanged(Object ,EventArgs)231 issue353min 0s262min 0s27547dSqlWrangler.FrmLogin .comboBox1_SelectedIndexChanged(Object ,EventArgs)
          txtPassword_KeyDown(Object,KeyEventArgs)181 issue303min 0s302min 0s28547dSqlWrangler.FrmLogin.txtPassword_KeyDown (Object,KeyEventArgs)
          button3_Click(Object,EventArgs)241 issue253min 0s292min 0s22547dSqlWrangler.FrmLogin.button3_Click (Object,EventArgs)
          newToolStripMenuItem_Click_1(Object ,EventArgs)271 issue243min 0s312min 0s16547dSqlWrangler.FrmMain .newToolStripMenuItem_Click_1(Object ,EventArgs)
          frmMain_FormClosed(Object ,FormClosedEventArgs)161 issue233min 0s432min 0s17547dSqlWrangler.FrmMain.frmMain_FormClosed (Object,FormClosedEventArgs)
          frmMain_DragDrop(Object,DragEventArgs)211 issue263min 0s552min 0s14547dSqlWrangler.FrmMain.frmMain_DragDrop (Object,DragEventArgs)
          helpToolStripMenuItem_Click(Object ,EventArgs)411 issue293min 0s562min 0s15547dSqlWrangler.FrmMain .helpToolStripMenuItem_Click(Object ,EventArgs)
          aboutToolStripMenuItem_Click(Object ,EventArgs)651 issue283min 0s532min 0s20547dSqlWrangler.FrmMain .aboutToolStripMenuItem_Click(Object ,EventArgs)
          button1_Click(Object,EventArgs)641 issue273min 0s542min 0s21547dSqlWrangler.FrmNameInput.button1_Click (Object,EventArgs)
          button2_Click(Object,EventArgs)311 issue383min 0s572min 0s18547dSqlWrangler.FrmNameInput.button2_Click (Object,EventArgs)
          txtName_KeyPress(Object ,KeyPressEventArgs)661 issue393min 0s602min 0s19547dSqlWrangler.FrmNameInput .txtName_KeyPress(Object ,KeyPressEventArgs)
          WriteCsWizard(DataTable,StreamWriter ,String,String)611 issue402min 48s1616min5463dSqlWrangler.Wizard.WriteCsWizard (DataTable,StreamWriter,String,String)
          WriteMaterializer(DataTable,StreamWriter ,IEnumerable<FieldDefinition>)601 issue422min 36s2113min5170dSqlWrangler.Wizard.WriteMaterializer (DataTable,StreamWriter,IEnumerable <FieldDefinition>)
          GetFields(DataTableReader)631 issue412min 36s2013min5270dSqlWrangler.Wizard.GetFields (DataTableReader)
          Compare(DataRow,DataTable,String)621 issue452min 30s2411min4981dSqlWrangler.DataRowComparerViewer .Compare(DataRow,DataTable,String)
          WriteModelClass(DataTable,StreamWriter ,IEnumerable<FieldDefinition> ,MapperAttributeType)681 issue462min 30s1916min5557dSqlWrangler.Wizard.WriteModelClass (DataTable,StreamWriter,IEnumerable <FieldDefinition>,MapperAttributeType)
          GetFieldName(String)741 issue432min 30s612min 0s33456dSqlWrangler.Wizard.GetFieldName(String)
          ScintillaStyler102 issues442min 30s582min 0s32456dSqlWrangler.Services.ScintillaStyler
          ToggleMenuItems()731 issue492min 24s1716min5654dSqlWrangler.DataRowComparerViewer .ToggleMenuItems()
          SaveExternalFile(Boolean)761 issue482min 24s1516min5754dSqlWrangler.SqlClient.SaveExternalFile (Boolean)
          WriteMappings(DataTable,StreamWriter ,IEnumerable<FieldDefinition>)751 issue472min 24s2213min5365dSqlWrangler.Wizard.WriteMappings (DataTable,StreamWriter,IEnumerable <FieldDefinition>)
          WizardToolStripMenuItem1_Click(Object ,EventArgs)701 issue502min 12s1816min5850dSqlWrangler.SqlClient .WizardToolStripMenuItem1_Click(Object ,EventArgs)
          GetSnippets()691 issue512min 0s2510min5071dSqlWrangler.FrmMain.GetSnippets()
          StyleElement(Scintilla)122 issues521min 30s592min 0s36273dSqlWrangler.Services.ScintillaStyler .StyleElement(Scintilla)
          IsString(Type)721 issue591min 0s462min 0s46182dSqliteTools.Table.IsString(Type)
          IsDateTime(Type)711 issue581min 0s472min 0s40182dSqliteTools.Table.IsDateTime(Type)
          ExportSql(FileInfo,DataTable,String ,String,Boolean,Boolean)591 issue611min 0s442min 0s39182dSqlWrangler.FrmExportSql.ExportSql (FileInfo,DataTable,String,String ,Boolean,Boolean)
          GetExcelConnectionString(String)471 issue601min 0s452min 0s38182dSqlWrangler.FrmLogin .GetExcelConnectionString(String)
          get_TableName()082 issues571min 0s482min 0s43182dSqlWrangler.FieldDefinition .get_TableName()
          get_TableSchema()112 issues541min 0s512min 0s44182dSqlWrangler.FieldDefinition .get_TableSchema()
          get_ClassName()072 issues531min 0s522min 0s45182dSqlWrangler.FieldDefinition .get_ClassName()
          WriteLinq2DbField(StreamWriter ,FieldDefinition,String)461 issue561min 0s492min 0s41182dSqlWrangler.Wizard.WriteLinq2DbField (StreamWriter,FieldDefinition,String)
          WriteEntityFrameworkField(StreamWriter ,FieldDefinition,String)491 issue551min 0s502min 0s42182dSqlWrangler.Wizard .WriteEntityFrameworkField(StreamWriter ,FieldDefinition,String)
          set_TableName(String)481 issue720min 30s720min 0s7100:00:00SqlWrangler.FieldDefinition .set_TableName(String)
          set_TableSchema(String)431 issue710min 30s710min 0s7200:00:00SqlWrangler.FieldDefinition .set_TableSchema(String)
          set_ClassName(String)421 issue700min 30s700min 0s6900:00:00SqlWrangler.FieldDefinition .set_ClassName(String)
          get_Name()451 issue730min 30s730min 0s7000:00:00SqlWrangler.FieldDefinition.get_Name()
          set_Name(String)441 issue760min 30s760min 0s7500:00:00SqlWrangler.FieldDefinition.set_Name (String)
          get_DbFieldName()501 issue750min 30s750min 0s7600:00:00SqlWrangler.FieldDefinition .get_DbFieldName()
          set_DbFieldName(String)561 issue740min 30s740min 0s7300:00:00SqlWrangler.FieldDefinition .set_DbFieldName(String)
          get_Length()551 issue690min 30s690min 0s7400:00:00SqlWrangler.FieldDefinition.get_Length()
          set_Length(Int32)581 issue640min 30s640min 0s6400:00:00SqlWrangler.FieldDefinition.set_Length (Int32)
          get_AllowsNull()571 issue630min 30s630min 0s6600:00:00SqlWrangler.FieldDefinition .get_AllowsNull()
          set_AllowsNull(Boolean)521 issue620min 30s620min 0s6800:00:00SqlWrangler.FieldDefinition .set_AllowsNull(Boolean)
          get_Type()511 issue650min 30s650min 0s6700:00:00SqlWrangler.FieldDefinition.get_Type()
          set_Type(String)541 issue680min 30s680min 0s6300:00:00SqlWrangler.FieldDefinition.set_Type (String)
          get_IsShortBool()531 issue670min 30s670min 0s6200:00:00SqlWrangler.FieldDefinition .get_IsShortBool()
          set_IsShortBool(Boolean)671 issue660min 30s660min 0s6500:00:00SqlWrangler.FieldDefinition .set_IsShortBool(Boolean)

          Statistics

          Stat   Issues   Debt   Annual Interest   Breaking Point
          Sum:1042d 2h1d 6h28 522d
          Average:1.3514min11min370d
          Minimum:10min 30s0min 0s00:00:00
          Maximum:74h 56min2h 0min2 190d
          Standard deviation:0.8843min20min399d
          Variance:0.77231d50doverflow
          ok   Code Query:    New Debt and Issues per Code Element

          12 code containers matched

          12 code containersIssuesAddedIssuesFixedIssuesDebtDebtDiffFull Name
          SqlWrangler051 issue04no issue071 issue012h 0min002h 0minSqlWrangler
          SnippetMenuBuilder003 issues05no issue033 issues0338min0138minSqlWrangler.Services.SnippetMenuBuilder
          .ctor(List<TextSnippet>)061 issue03no issue061 issue0430min0230minSqlWrangler.SqlClient..ctor(List <TextSnippet>)
          BuildSnippetMenu(List<TextSnippet> ,ToolStripMenuItem,Keys,Scintilla ,DataGridView)013 issues01no issue023 issues058min038minSqlWrangler.Services.SnippetMenuBuilder .BuildSnippetMenu(List<TextSnippet> ,ToolStripMenuItem,Keys,Scintilla ,DataGridView)
          .cctor()071 issue02no issue111 issue065min055minSqliteTools.SqliteTypes..cctor()
          DataRowComparerViewer101 issue06no issue013 issues021h 8min045minSqlWrangler.DataRowComparerViewer
          ColorToolStripMenuItem_Click(Object ,EventArgs)111 issue10no issue091 issue075min075minSqlWrangler.SqlClient .ColorToolStripMenuItem_Click(Object ,EventArgs)
          InsertFields(Scintilla,DataGridView)081 issue11no issue081 issue085min065minSqlWrangler.Services.SnippetMenuBuilder .InsertFields(Scintilla,DataGridView)
          ClearAllCheckFieldsToolStripMenuItem_Cli ck(Object,EventArgs)091 issue09no issue101 issue093min 0s083min 0sSqlWrangler.DataRowComparerViewer .ClearAllCheckFieldsToolStripMenuItem_Cl ick(Object,EventArgs)
          ScintillaStyler042 issues07no issue052 issues102min 30s092min 30sSqlWrangler.Services.ScintillaStyler
          StyleElement(Scintilla)032 issues08no issue042 issues111min 30s101min 30sSqlWrangler.Services.ScintillaStyler .StyleElement(Scintilla)
          SqlClient022 issues001 issue007 issues004h 56min11-(1h 1min)SqlWrangler.SqlClient

          Statistics

          Stat   IssuesAdded   IssuesFixed   Issues   Debt   DebtDiff
          Sum:191261d 1h2h 42min
          Average:1.580.0832.1748min13min
          Minimum:1011min 30s-(1h 1min)
          Maximum:3174h 56min2h 0min
          Standard deviation:0.760.281.671h 22min39min
          Variance:0.580.0762.81847d192d

          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

          3 types matched

          • Formatting: bold means added, underlined means code was changed, strike-bold means removed (since baseline)
          3 types# lines of code (LOC)DebtSeverityFull Name
          SnippetMenuBuilder04400min 30s0MediumSqlWrangler.Services.SnippetMenuBuilder
          FieldDefinition11810min 30s1MediumSqlWrangler.FieldDefinition
          ScintillaStyler21720min 30s2MediumSqlWrangler.Services.ScintillaStyler
          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

          warning   Rule Violated:    A stateless class or structure might be turned into a static type

          2 types matched

          • Formatting: bold means added, underlined means code was changed, strike-bold means removed (since baseline)
          2 typesmethodsUsingMeDebtSeverityFull Name
          ScintillaStyler01 method02min 0s0LowSqlWrangler.Services.ScintillaStyler
          SnippetMenuBuilder11 method12min 0s1LowSqlWrangler.Services.SnippetMenuBuilder
          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

          9 methods matched

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

          2 assemblies matched

          2 assemblies# lines of code (LOC)oldNbLinesOfCodedeltaFull Name
          SqliteTools1751760-1SqliteTools
          SqlWrangler01 44801 4591-11SqlWrangler
          ok   Code Query:    New namespaces

          1 namespace matched

          1 namespace# lines of code (LOC)Full Name
          SqlWrangler.Services061SqlWrangler.Services
          ok   Code Query:    Namespaces removed

          No namespace matched

          ok   Code Query:    Namespaces where code was changed

          2 namespaces matched

          2 namespaces# lines of code (LOC)oldNbLinesOfCodedeltaFull Name
          SqliteTools1751760-1SqliteTools
          SqlWrangler01 33801 4101-72SqlWrangler
          ok   Code Query:    New types

          No type matched

          ok   Code Query:    Types removed

          1 type matched

          1 type# lines of code (LOC)Full Name
          DataUpdateMode0N/ASqliteTools.DataUpdateMode
          ok   Code Query:    Types where code was changed

          7 types matched

          7 types# lines of code (LOC)oldNbLinesOfCodedeltaFull Name
          Table6746753-1SqliteTools.Table
          DataRowComparerViewer122712335-6SqlWrangler.DataRowComparerViewer
          FrmExportSql412941302-1SqlWrangler.FrmExportSql
          FrmLogin2205220510SqlWrangler.FrmLogin
          FrmMain5110511000SqlWrangler.FrmMain
          SqlClient040704696-62SqlWrangler.SqlClient
          Wizard316931724-3SqlWrangler.Wizard
          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

          1 type matched

          1 typetypesChangedUsedFull Name
          Program01 typeSqlWrangler.Program
          ok   Code Query:    Types indirectly using one or several types changed

          1 type matched

          1 typedepthOfUsingTypesChangedtypesChangedDirectlyUsedFull Name
          Program0101 typeSqlWrangler.Program
          ok   Code Query:    New methods

          19 methods matched

          19 methods# lines of code (LOC)Full Name
          GenerateImportDataSql(DataTable)047SqliteTools.Table.GenerateImportDataSql (DataTable)
          .cctor()131SqliteTools.Table..cctor()
          DataGridView1_CellFormatting(Object ,DataGridViewCellFormattingEventArgs)065SqlWrangler.DataRowComparerViewer .DataGridView1_CellFormatting(Object ,DataGridViewCellFormattingEventArgs)
          DataGridView1_RowHeaderMouseClick(Object ,DataGridViewCellMouseEventArgs)141SqlWrangler.DataRowComparerViewer .DataGridView1_RowHeaderMouseClick (Object,DataGridViewCellMouseEventArgs)
          SetKeyToolStripMenuItem_Click(Object ,EventArgs)122SqlWrangler.DataRowComparerViewer .SetKeyToolStripMenuItem_Click(Object ,EventArgs)
          FormatDataGridColumns()0213SqlWrangler.DataRowComparerViewer .FormatDataGridColumns()
          DataGridView1_ColumnHeaderMouseClick (Object,DataGridViewCellMouseEventArgs)0016SqlWrangler.DataRowComparerViewer .DataGridView1_ColumnHeaderMouseClick (Object,DataGridViewCellMouseEventArgs)
          SetCheckFieldsToolStripMenuItem_Click (Object,EventArgs)112SqlWrangler.DataRowComparerViewer .SetCheckFieldsToolStripMenuItem_Click (Object,EventArgs)
          ClearAllCheckFieldsToolStripMenuItem_Cli ck(Object,EventArgs)075SqlWrangler.DataRowComparerViewer .ClearAllCheckFieldsToolStripMenuItem_Cl ick(Object,EventArgs)
          ExecuteToolStripMenuItem_Click(Object ,EventArgs)161SqlWrangler.SqlClient .ExecuteToolStripMenuItem_Click(Object ,EventArgs)
          ToCSVToolStripMenuItem_Click(Object ,EventArgs)037SqlWrangler.SqlClient .ToCSVToolStripMenuItem_Click(Object ,EventArgs)
          TextBox1_KeyUp_1(Object,KeyEventArgs)104SqlWrangler.SqlClient.TextBox1_KeyUp_1 (Object,KeyEventArgs)
          ToXMLToolStripMenuItem_Click(Object ,EventArgs)151SqlWrangler.SqlClient .ToXMLToolStripMenuItem_Click(Object ,EventArgs)
          CancelToolStripMenuItem_Click(Object ,EventArgs)084SqlWrangler.SqlClient .CancelToolStripMenuItem_Click(Object ,EventArgs)
          ToDaveSqlToolStripMenuItem_Click(Object ,EventArgs)094SqlWrangler.SqlClient .ToDaveSqlToolStripMenuItem_Click(Object ,EventArgs)
          DataGridView1_DataError(Object ,DataGridViewDataErrorEventArgs)180SqlWrangler.SqlClient .DataGridView1_DataError(Object ,DataGridViewDataErrorEventArgs)
          ToJSONToolStripMenuItem_Click(Object ,EventArgs)171SqlWrangler.SqlClient .ToJSONToolStripMenuItem_Click(Object ,EventArgs)
          ColorToolStripMenuItem_Click(Object ,EventArgs)0115SqlWrangler.SqlClient .ColorToolStripMenuItem_Click(Object ,EventArgs)
          CompareRowsToolStripMenuItem_Click (Object,EventArgs)056SqlWrangler.SqlClient .CompareRowsToolStripMenuItem_Click (Object,EventArgs)
          ok   Code Query:    Methods removed

          20 methods matched

          20 methods# lines of code (LOC)Full Name
          GenerateImportDataSql(DataTable ,DataUpdateMode)067SqliteTools.Table.GenerateImportDataSql (DataTable,DataUpdateMode)
          dataGridView1_CellFormatting(Object ,DataGridViewCellFormattingEventArgs)085SqlWrangler.DataRowComparerViewer .dataGridView1_CellFormatting(Object ,DataGridViewCellFormattingEventArgs)
          dataGridView1_RowHeaderMouseClick(Object ,DataGridViewCellMouseEventArgs)151SqlWrangler.DataRowComparerViewer .dataGridView1_RowHeaderMouseClick (Object,DataGridViewCellMouseEventArgs)
          setKeyToolStripMenuItem_Click(Object ,EventArgs)104SqlWrangler.DataRowComparerViewer .setKeyToolStripMenuItem_Click(Object ,EventArgs)
          dataGridView1_ColumnHeaderMouseClick (Object,DataGridViewCellMouseEventArgs)0216SqlWrangler.DataRowComparerViewer .dataGridView1_ColumnHeaderMouseClick (Object,DataGridViewCellMouseEventArgs)
          setCheckFieldsToolStripMenuItem_Click (Object,EventArgs)114SqlWrangler.DataRowComparerViewer .setCheckFieldsToolStripMenuItem_Click (Object,EventArgs)
          clearAllCheckFieldsToolStripMenuItem_Cli ck(Object,EventArgs)095SqlWrangler.DataRowComparerViewer .clearAllCheckFieldsToolStripMenuItem_Cl ick(Object,EventArgs)
          BuildSnippetMenu()0030SqlWrangler.SqlClient.BuildSnippetMenu()
          ScintallaStyle()0117SqlWrangler.SqlClient.ScintallaStyle()
          executeToolStripMenuItem_Click(Object ,EventArgs)161SqlWrangler.SqlClient .executeToolStripMenuItem_Click(Object ,EventArgs)
          toCSVToolStripMenuItem_Click(Object ,EventArgs)057SqlWrangler.SqlClient .toCSVToolStripMenuItem_Click(Object ,EventArgs)
          textBox1_KeyUp_1(Object,KeyEventArgs)124SqlWrangler.SqlClient.textBox1_KeyUp_1 (Object,KeyEventArgs)
          toXMLToolStripMenuItem_Click(Object ,EventArgs)181SqlWrangler.SqlClient .toXMLToolStripMenuItem_Click(Object ,EventArgs)
          cancelToolStripMenuItem_Click(Object ,EventArgs)144SqlWrangler.SqlClient .cancelToolStripMenuItem_Click(Object ,EventArgs)
          toDaveSqlToolStripMenuItem_Click(Object ,EventArgs)134SqlWrangler.SqlClient .toDaveSqlToolStripMenuItem_Click(Object ,EventArgs)
          dataGridView1_DataError(Object ,DataGridViewDataErrorEventArgs)190SqlWrangler.SqlClient .dataGridView1_DataError(Object ,DataGridViewDataErrorEventArgs)
          toJSONToolStripMenuItem_Click(Object ,EventArgs)171SqlWrangler.SqlClient .toJSONToolStripMenuItem_Click(Object ,EventArgs)
          colorToolStripMenuItem_Click(Object ,EventArgs)0315SqlWrangler.SqlClient .colorToolStripMenuItem_Click(Object ,EventArgs)
          InsertFields()0414SqlWrangler.SqlClient.InsertFields()
          compareRowsToolStripMenuItem_Click (Object,EventArgs)077SqlWrangler.SqlClient .compareRowsToolStripMenuItem_Click (Object,EventArgs)
          ok   Code Query:    Methods where code was changed

          25 methods matched

          25 methods# lines of code (LOC)oldNbLinesOfCodedeltaFull Name
          get_ActualName()223223130SqliteTools.Table.get_ActualName()
          .ctor(String,String)21321521-2SqliteTools.Table..ctor(String,String)
          GenerateCreateTableSql(DataTable)02280428050SqliteTools.Table.GenerateCreateTableSql (DataTable)
          GenerateInsertSql(DataRow)05250725070SqliteTools.Table.GenerateInsertSql (DataRow)
          .ctor(DataTable,String)1414121623-2SqlWrangler.DataRowComparerViewer..ctor (DataTable,String)
          FillGrid()11171117060SqlWrangler.DataRowComparerViewer .FillGrid()
          DisplayDetailForRow(Int32)1314141519-1SqlWrangler.DataRowComparerViewer .DisplayDetailForRow(Int32)
          ToggleMenuItems()0724023624-12SqlWrangler.DataRowComparerViewer .ToggleMenuItems()
          InitializeComponent()01840184090SqlWrangler.DataRowComparerViewer .InitializeComponent()
          .ctor(DataTable)16131513080SqlWrangler.FrmExportSql..ctor(DataTable )
          btnOk_Click(Object,EventArgs)09190919020SqlWrangler.FrmExportSql.btnOk_Click (Object,EventArgs)
          ExportSql(FileInfo,DataTable,String ,String,Boolean,Boolean)10171017010SqlWrangler.FrmExportSql.ExportSql (FileInfo,DataTable,String,String ,Boolean,Boolean)
          button1_Click(Object,EventArgs)12161316040SqlWrangler.FrmLogin.button1_Click (Object,EventArgs)
          button3_Click(Object,EventArgs)17121712030SqlWrangler.FrmLogin.button3_Click (Object,EventArgs)
          .ctor()18101810100SqlWrangler.FrmMain..ctor()
          NewSqlForm()232232150SqlWrangler.FrmMain.NewSqlForm()
          PersistSnippets()206206160SqlWrangler.FrmMain.PersistSnippets()
          GetSnippets()08220822170SqlWrangler.FrmMain.GetSnippets()
          aboutToolStripMenuItem_Click(Object ,EventArgs)241241140SqlWrangler.FrmMain .aboutToolStripMenuItem_Click(Object ,EventArgs)
          .ctor(List<TextSnippet>)15141612002SqlWrangler.SqlClient..ctor(List <TextSnippet>)
          Uncheck(Object)19819920-1SqlWrangler.SqlClient.Uncheck(Object)
          InitializeComponent()0022000220120SqlWrangler.SqlClient .InitializeComponent()
          WriteModelClass(DataTable,StreamWriter ,IEnumerable<FieldDefinition> ,MapperAttributeType)0625062722-2SqlWrangler.Wizard.WriteModelClass (DataTable,StreamWriter,IEnumerable <FieldDefinition>,MapperAttributeType)
          WriteMaterializer(DataTable,StreamWriter ,IEnumerable<FieldDefinition>)04270527110SqlWrangler.Wizard.WriteMaterializer (DataTable,StreamWriter,IEnumerable <FieldDefinition>)
          GetFields(DataTableReader)0327032818-1SqlWrangler.Wizard.GetFields (DataTableReader)
          ok   Code Query:    Methods directly calling one or several methods changed

          5 methods matched

          5 methodsmethodsChangedCalledFull Name
          CreateSql(DataTable)21 methodSqliteTools.Table.CreateSql(DataTable)
          newToolStripMenuItem_Click_1(Object ,EventArgs)11 methodSqlWrangler.FrmMain .newToolStripMenuItem_Click_1(Object ,EventArgs)
          frmMain_FormClosed(Object ,FormClosedEventArgs)41 methodSqlWrangler.FrmMain.frmMain_FormClosed (Object,FormClosedEventArgs)
          ProcessCmdKey(Message&,Keys)31 methodSqlWrangler.FrmMain.ProcessCmdKey (Message&,Keys)
          WriteCsWizard(DataTable,StreamWriter ,String,String)03 methodsSqlWrangler.Wizard.WriteCsWizard (DataTable,StreamWriter,String,String)
          ok   Code Query:    Methods indirectly calling one or several methods changed

          8 methods matched

          8 methodsdepthOfUsingMethodsChangedmethodsChangedDirectlyUsedFull Name
          CreateSql(DataTable)4141 methodSqliteTools.Table.CreateSql(DataTable)
          newToolStripMenuItem_Click_1(Object ,EventArgs)3121 methodSqlWrangler.FrmMain .newToolStripMenuItem_Click_1(Object ,EventArgs)
          frmMain_FormClosed(Object ,FormClosedEventArgs)5131 methodSqlWrangler.FrmMain.frmMain_FormClosed (Object,FormClosedEventArgs)
          ProcessCmdKey(Message&,Keys)7111 methodSqlWrangler.FrmMain.ProcessCmdKey (Message&,Keys)
          WriteCsWizard(DataTable,StreamWriter ,String,String)6103 methodsSqlWrangler.Wizard.WriteCsWizard (DataTable,StreamWriter,String,String)
          .ctor()126no methodSqlWrangler.FrmLogin..ctor()
          WizardToolStripMenuItem1_Click(Object ,EventArgs)227no methodSqlWrangler.SqlClient .WizardToolStripMenuItem1_Click(Object ,EventArgs)
          Main()035no methodSqlWrangler.Program.Main()
          ok   Code Query:    New fields

          4 fields matched

          4 fieldsFull Name
          SqlLiteTypesSqliteTools.Table.SqlLiteTypes
          _snippetsSqlWrangler.FrmMain._snippets
          _stylerSqlWrangler.SqlClient._styler
          _menuBuilderSqlWrangler.SqlClient._menuBuilder
          ok   Code Query:    Fields removed

          1 field matched

          1 fieldFull Name
          SnippetsSqlWrangler.FrmMain.Snippets
          ok   Code Query:    Third party types that were not used and that are now used

          2 types matched

          2 typesMethodsFieldsTypesUsingMeFull Name
          ObsoleteAttribute0no method0no field01 typeSystem.ObsoleteAttribute
          SuppressMessageAttribute1no method1no field11 typeSystem.Diagnostics.CodeAnalysis .SuppressMessageAttribute
          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

          2 methods matched

          2 methodsMethodsCallingMeFull Name
          Concat(String,String,String,String)12 methodsSystem.String.Concat(String,String ,String,String)
          Concat(String[])03 methodsSystem.String.Concat(String[])
          ok   Code Query:    Third party methods that were used and that are not used anymore

          2 methods matched

          2 methodsMethodsThatCalledMeFull Name
          Format(String,Object,Object,Object)03 methodsSystem.String.Format(String,Object ,Object,Object)
          Format(String,Object[])11 methodSystem.String.Format(String,Object[])
          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
          warningCritical23 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.
          warningCriticalIn the analyzed code base, SuppressMessageAttribute is used to suppress issues emitted by other tools. Since NDepend v2018.2 SuppressMessageAttribute can be used to suppress NDepend issues.
          warningCriticalExecute queries and rules.
          warningCritical2 quality gates warn: - 'New Debt since Baseline' value 0.086 man-days greater than warn threshold 0 man-days - 'New Annual Interest since Baseline' value 0.57 man-days greater than warn threshold 0 man-days
          warningCritical1 quality gate fails: - 'New Blocker / Critical / High Issues' value 9 issues greater than fail threshold 0 issues
          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: