It is recommended to use the NDepend interactive UI capabilities
to make the most of NDepend by mastering all aspects of your code.
Diagrams
Application Metrics
Note: Further Application Statistics are available.
|
Quality Gates summary
326
can be stopped upon quality gate
failure. Online documentation.

be run on the baseline. Hence they
have blank trend and baseline status.
Name | Trend | Baseline Value | Value | Group | |||
---|---|---|---|---|---|---|---|
| ![]() | ![]() | ![]() | Rules in : NDepend_v2017_1_0_Defaul tRules.ndrules \ Quality Gates | |||
| ![]() | Rules in : NDepend_v2017_1_0_Defaul tRules.ndrules \ Quality Gates | |||||
| ![]() | Rules in : NDepend_v2017_1_0_Defaul tRules.ndrules \ Quality Gates | |||||
| ![]() | ![]() | ![]() | Rules in : NDepend_v2017_1_0_Defaul tRules.ndrules \ Quality Gates | |||
| ![]() | ![]() | ![]() | Rules in : NDepend_v2017_1_0_Defaul tRules.ndrules \ Quality Gates | |||
| ![]() | Rules in : NDepend_v2017_1_0_Defaul tRules.ndrules \ Quality Gates | |||||
| ![]() | ![]() | ![]() | Rules in : NDepend_v2017_1_0_Defaul tRules.ndrules \ Quality Gates | |||
| ![]() | ![]() | ![]() | Rules in : NDepend_v2017_1_0_Defaul tRules.ndrules \ Quality Gates | |||
| ![]() | Rules in : NDepend_v2017_1_0_Defaul tRules.ndrules \ Quality Gates | |||||
| ![]() | ![]() | ![]() | Rules in : NDepend_v2017_1_0_Defaul tRules.ndrules \ Quality Gates | |||
| ![]() | Rules in : NDepend_v2017_1_0_Defaul tRules.ndrules \ Quality Gates |
Rules summary
408913- Number of Rules or Queries with Error (syntax error, exception thrown, time-out): 0
- Number of Rules violated: 102

development-time, from within Visual
Studio. Online documentation.

run on the baseline. Hence they
have blank # Issues Fixed or Added.
Name | # Issues | Added | Fixed | Elements | Group | |||
---|---|---|---|---|---|---|---|---|
| 40 | 0 | 4 | types | Rules in : NDepend_v2017_1_0_Defaul tRules.ndrules \ Code Smells | |||
| 129 | 7 | 9 | types | Rules in : NDepend_v2017_1_0_Defaul tRules.ndrules \ Code Smells | |||
| 36 | 1 | 3 | types | Rules in : NDepend_v2017_1_0_Defaul tRules.ndrules \ Code Smells | |||
| 56 | 1 | 12 | methods | Rules in : NDepend_v2017_1_0_Defaul tRules.ndrules \ Code Smells | |||
| 75 | 7 | 4 | methods | Rules in : NDepend_v2017_1_0_Defaul tRules.ndrules \ Code Smells | |||
| 25 | 0 | 2 | methods | Rules in : NDepend_v2017_1_0_Defaul tRules.ndrules \ Code Smells | |||
| 499 | 10 | 27 | methods | Rules in : NDepend_v2017_1_0_Defaul tRules.ndrules \ Code Smells | |||
| 288 | 21 | 25 | methods | Rules in : NDepend_v2017_1_0_Defaul tRules.ndrules \ Code Smells | |||
| 62 | 2 | 4 | types | Rules in : NDepend_v2017_1_0_Defaul tRules.ndrules \ Code Smells | |||
| 1 | type | Rules in : NDepend_v2017_1_0_Defaul tRules.ndrules \ Code Smells Regression | |||||
| 62 | types | Rules in : NDepend_v2017_1_0_Defaul tRules.ndrules \ Code Smells Regression | |||||
| 27 | methods | Rules in : NDepend_v2017_1_0_Defaul tRules.ndrules \ Code Smells Regression | |||||
| 29 | types | Rules in : NDepend_v2017_1_0_Defaul tRules.ndrules \ Code Smells Regression | |||||
| 27 | methods | Rules in : NDepend_v2017_1_0_Defaul tRules.ndrules \ Code Smells Regression | |||||
| 29 | methods | Rules in : NDepend_v2017_1_0_Defaul tRules.ndrules \ Code Smells Regression | |||||
| 28 | types | Rules in : NDepend_v2017_1_0_Defaul tRules.ndrules \ Code Smells Regression | |||||
| 8 | types | Rules in : NDepend_v2017_1_0_Defaul tRules.ndrules \ Code Smells Regression | |||||
| 2 | types | Rules in : NDepend_v2017_1_0_Defaul tRules.ndrules \ Code Smells Regression | |||||
| 67 | 2 | 0 | types | Rules in : NDepend_v2017_1_0_Defaul tRules.ndrules \ Object Oriented Design | |||
| 26 | 0 | 0 | types | Rules in : NDepend_v2017_1_0_Defaul tRules.ndrules \ Object Oriented Design | |||
| 164 | 3 | 12 | types | Rules in : NDepend_v2017_1_0_Defaul tRules.ndrules \ Object Oriented Design | |||
| 1496 | 62 | 54 | types | Rules in : NDepend_v2017_1_0_Defaul tRules.ndrules \ Object Oriented Design | |||
| 730 | 32 | 76 | methods | Rules in : NDepend_v2017_1_0_Defaul tRules.ndrules \ Object Oriented Design | |||
| 2 | 0 | 0 | methods | Rules in : NDepend_v2017_1_0_Defaul tRules.ndrules \ Object Oriented Design | |||
| 29 | 0 | 20 | types | Rules in : NDepend_v2017_1_0_Defaul tRules.ndrules \ Object Oriented Design | |||
| 162 | 4 | 24 | types | Rules in : NDepend_v2017_1_0_Defaul tRules.ndrules \ Object Oriented Design | |||
| 172 | 7 | 9 | methods | Rules in : NDepend_v2017_1_0_Defaul tRules.ndrules \ Object Oriented Design | |||
| 51 | 10 | 6 | methods | Rules in : NDepend_v2017_1_0_Defaul tRules.ndrules \ Object Oriented Design | |||
| 2 | 0 | 0 | types | Rules in : NDepend_v2017_1_0_Defaul tRules.ndrules \ Object Oriented Design | |||
| 7 | 0 | 0 | fields | Rules in : NDepend_v2017_1_0_Defaul tRules.ndrules \ Object Oriented Design | |||
| 30 | 0 | 0 | types | Rules in : NDepend_v2017_1_0_Defaul tRules.ndrules \ Object Oriented Design | |||
| 63 | 1 | 1 | types | Rules in : NDepend_v2017_1_0_Defaul tRules.ndrules \ Design | |||
| 197 | 3 | 5 | types | Rules in : NDepend_v2017_1_0_Defaul tRules.ndrules \ Design | |||
| 17 | 2 | 1 | namespaces | Rules in : NDepend_v2017_1_0_Defaul tRules.ndrules \ Design | |||
| 116 | 12 | 15 | types | Rules in : NDepend_v2017_1_0_Defaul tRules.ndrules \ Design | |||
| 91 | 3 | 5 | types | Rules in : NDepend_v2017_1_0_Defaul tRules.ndrules \ Design | |||
| 1 | 0 | 0 | type | Rules in : NDepend_v2017_1_0_Defaul tRules.ndrules \ Design | |||
| 2 | 1 | 10 | methods | Rules in : NDepend_v2017_1_0_Defaul tRules.ndrules \ Design | |||
| 51 | 15 | 8 | methods | Rules in : NDepend_v2017_1_0_Defaul tRules.ndrules \ Design | |||
| 2 | 0 | 0 | types | Rules in : NDepend_v2017_1_0_Defaul tRules.ndrules \ Design | |||
| 1304 | 104 | 102 | members | Rules in : NDepend_v2017_1_0_Defaul tRules.ndrules \ Architecture | |||
| 2 | 0 | 0 | namespaces | Rules in : NDepend_v2017_1_0_Defaul tRules.ndrules \ Architecture | |||
| 2 | 0 | 0 | assemblies | Rules in : NDepend_v2017_1_0_Defaul tRules.ndrules \ Architecture | |||
| 13 | 1 | 0 | namespaces | Rules in : NDepend_v2017_1_0_Defaul tRules.ndrules \ Architecture | |||
| 60 | types | Rules in : NDepend_v2017_1_0_Defaul tRules.ndrules \ API Breaking Changes | |||||
| 450 | methods | Rules in : NDepend_v2017_1_0_Defaul tRules.ndrules \ API Breaking Changes | |||||
| 210 | fields | Rules in : NDepend_v2017_1_0_Defaul tRules.ndrules \ API Breaking Changes | |||||
| 40 | types | Rules in : NDepend_v2017_1_0_Defaul tRules.ndrules \ API Breaking Changes | |||||
| 6887 | 501 | 666 | methods | Rules in : NDepend_v2017_1_0_Defaul tRules.ndrules \ Code Coverage | |||
| 322 | methods | Rules in : NDepend_v2017_1_0_Defaul tRules.ndrules \ Code Coverage | |||||
| 220 | methods | Rules in : NDepend_v2017_1_0_Defaul tRules.ndrules \ Code Coverage | |||||
| 239 | 24 | 38 | code elements parent | Rules in : NDepend_v2017_1_0_Defaul tRules.ndrules \ Code Coverage | |||
| 73 | 19 | 4 | types | Rules in : NDepend_v2017_1_0_Defaul tRules.ndrules \ Code Coverage | |||
| 4 | 2 | 1 | namespaces | Rules in : NDepend_v2017_1_0_Defaul tRules.ndrules \ Code Coverage | |||
| 15 | methods | Rules in : NDepend_v2017_1_0_Defaul tRules.ndrules \ Code Coverage | |||||
| 552 | 41 | 23 | types | Rules in : NDepend_v2017_1_0_Defaul tRules.ndrules \ Code Coverage | |||
| 76 | 6 | 18 | methods | Rules in : NDepend_v2017_1_0_Defaul tRules.ndrules \ Code Coverage | |||
| 44 | 4 | 19 | methods | Rules in : NDepend_v2017_1_0_Defaul tRules.ndrules \ Dead Code | |||
| 2 | 0 | 0 | fields | Rules in : NDepend_v2017_1_0_Defaul tRules.ndrules \ Dead Code | |||
| 336 | 38 | 41 | methods | Rules in : NDepend_v2017_1_0_Defaul tRules.ndrules \ Visibility | |||
| 6 | 0 | 0 | types | Rules in : NDepend_v2017_1_0_Defaul tRules.ndrules \ Visibility | |||
| 17 | 0 | 1 | fields | Rules in : NDepend_v2017_1_0_Defaul tRules.ndrules \ Visibility | |||
| 48 | 7 | 2 | types | Rules in : NDepend_v2017_1_0_Defaul tRules.ndrules \ Visibility | |||
| 214 | 10 | 6 | fields | Rules in : NDepend_v2017_1_0_Defaul tRules.ndrules \ Visibility | |||
| 182 | 3 | 15 | fields | Rules in : NDepend_v2017_1_0_Defaul tRules.ndrules \ Visibility | |||
| 30 | 0 | 0 | types | Rules in : NDepend_v2017_1_0_Defaul tRules.ndrules \ Visibility | |||
| 261 | 25 | 27 | methods | Rules in : NDepend_v2017_1_0_Defaul tRules.ndrules \ Visibility | |||
| 130 | 4 | 15 | fields | Rules in : NDepend_v2017_1_0_Defaul tRules.ndrules \ Immutability | |||
| 64 | 0 | 2 | fields | Rules in : NDepend_v2017_1_0_Defaul tRules.ndrules \ Immutability | |||
| 15 | 1 | 0 | fields | Rules in : NDepend_v2017_1_0_Defaul tRules.ndrules \ Immutability | |||
| 1 | 0 | 0 | type | Rules in : NDepend_v2017_1_0_Defaul tRules.ndrules \ Immutability | |||
| 11 | 0 | 0 | methods | Rules in : NDepend_v2017_1_0_Defaul tRules.ndrules \ Immutability | |||
| 29 | 0 | 5 | fields | Rules in : NDepend_v2017_1_0_Defaul tRules.ndrules \ Immutability | |||
| 22 | 0 | 4 | fields | Rules in : NDepend_v2017_1_0_Defaul tRules.ndrules \ Immutability | |||
| 18 | 1 | 0 | fields | Rules in : NDepend_v2017_1_0_Defaul tRules.ndrules \ Immutability | |||
| 15 | 1 | 1 | fields | Rules in : NDepend_v2017_1_0_Defaul tRules.ndrules \ Immutability | |||
| 15 | 3 | 6 | fields | Rules in : NDepend_v2017_1_0_Defaul tRules.ndrules \ Naming Conventions | |||
| 735 | 398 | 408 | fields | Rules in : NDepend_v2017_1_0_Defaul tRules.ndrules \ Naming Conventions | |||
| 5 | 0 | 0 | types | Rules in : NDepend_v2017_1_0_Defaul tRules.ndrules \ Naming Conventions | |||
| 79 | 1 | 0 | types | Rules in : NDepend_v2017_1_0_Defaul tRules.ndrules \ Naming Conventions | |||
| 2 | 0 | 0 | types | Rules in : NDepend_v2017_1_0_Defaul tRules.ndrules \ Naming Conventions | |||
| 5 | 0 | 0 | methods | Rules in : NDepend_v2017_1_0_Defaul tRules.ndrules \ Naming Conventions | |||
| 13 | 0 | 0 | types | Rules in : NDepend_v2017_1_0_Defaul tRules.ndrules \ Naming Conventions | |||
| 43 | 3 | 1 | methods | Rules in : NDepend_v2017_1_0_Defaul tRules.ndrules \ Naming Conventions | |||
| 4 | 2 | 0 | fields | Rules in : NDepend_v2017_1_0_Defaul tRules.ndrules \ Naming Conventions | |||
| 23 | 2 | 1 | types | Rules in : NDepend_v2017_1_0_Defaul tRules.ndrules \ Naming Conventions | |||
| 70 | 1 | 2 | types | Rules in : NDepend_v2017_1_0_Defaul tRules.ndrules \ Naming Conventions | |||
| 11 | 1 | 0 | types | Rules in : NDepend_v2017_1_0_Defaul tRules.ndrules \ Naming Conventions | |||
| 7 | 0 | 0 | methods | Rules in : NDepend_v2017_1_0_Defaul tRules.ndrules \ Naming Conventions | |||
| 130 | 6 | 2 | types | Rules in : NDepend_v2017_1_0_Defaul tRules.ndrules \ Source Files Organization | |||
| 2 | 0 | 1 | types | Rules in : NDepend_v2017_1_0_Defaul tRules.ndrules \ Source Files Organization | |||
| 1 | 0 | 1 | namespace | Rules in : NDepend_v2017_1_0_Defaul tRules.ndrules \ Source Files Organization | |||
| 1 | 0 | 0 | namespace | Rules in : NDepend_v2017_1_0_Defaul tRules.ndrules \ Source Files Organization | |||
| 1 | 0 | 0 | type | Rules in : NDepend_v2017_1_0_Defaul tRules.ndrules \ .NET Framework Usage \ System | |||
| 57 | 1 | 3 | methods | Rules in : NDepend_v2017_1_0_Defaul tRules.ndrules \ .NET Framework Usage \ System | |||
| 11 | 4 | 7 | methods | Rules in : NDepend_v2017_1_0_Defaul tRules.ndrules \ .NET Framework Usage \ System | |||
| 15 | 1 | 3 | methods | Rules in : NDepend_v2017_1_0_Defaul tRules.ndrules \ .NET Framework Usage \ System | |||
| 1 | 0 | 0 | field | Rules in : NDepend_v2017_1_0_Defaul tRules.ndrules \ .NET Framework Usage \ System | |||
| 49 | 0 | 0 | types | Rules in : NDepend_v2017_1_0_Defaul tRules.ndrules \ .NET Framework Usage \ System | |||
| 204 | 93 | 94 | methods | Rules in : NDepend_v2017_1_0_Defaul tRules.ndrules \ .NET Framework Usage \ System.Collection | |||
| 3 | 0 | 0 | methods | Rules in : NDepend_v2017_1_0_Defaul tRules.ndrules \ .NET Framework Usage \ System.Xml | |||
| 17 | 5 | 0 | methods | Rules in : NDepend_v2017_1_0_Defaul tRules.ndrules \ .NET Framework Usage \ System.Globalization |
Application Statistics
Stat | # Occurences | Avg | StdDev | Max |
---|---|---|---|---|
Properties on interfaces | 414 interfaces | 1.72 | 4.56 | 47 properties on NHibernate.Persister.Entity.IEntityPersister |
Methods on interfaces | 414 interfaces | 6.7 | 12.47 | 92 methods on NHibernate.ISession |
Arguments on methods on interfaces | 2,773 methods | 1.09 | 1.1 | 11 arguments on NHibernate.Engine.IPersistenceContext.AddEntry(Object,Status,Object[],Object,Object,Object,LockMode,Boolean,IEntityPersister,Boolean,Boolean) |
Public properties on classes | 2,082 Classes | 2.24 | 5.88 | 84 public properties on NHibernate.Dialect.Dialect |
Public methods on classes | 2,082 classes | 7.57 | 12.84 | 178 public methods on NHibernate.Persister.Entity.AbstractEntityPersister |
Arguments on public methods on classes | 15,764 methods | 1 | 1.2 | 15 arguments on NHibernate.Engine.QueryParameters..ctor(IType[],Object[],IDictionary<String,TypedValue>,IDictionary<String,LockMode>,RowSelection,Boolean,Boolean,Boolean,String,String,Object[],Object,String,Object,IResultTransformer) |
IL instructions in non-abstract methods | 20,066 methods | 27.24 | 77.98 | 4060 IL instructions in NHibernate.Hql.Ast.ANTLR.HqlParser+Follow..cctor() |
Cyclomatic complexity on non abstract Methods | 20,066 Methods | 2.45 | 5.07 | CC = 199 for NHibernate.Hql.Ast.ANTLR.HqlLexer.mNUM_INT() |
Assemblies Metrics
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 | % Coverage | Afferent Coupling | Efferent Coupling | Relational Cohesion | Instability | Abstractness | Distance |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
NHibernate v4.0.0.4000 | 71835 | 532054 | 2406 | 541 | 38607 | 34.96 | 76.52 | 16 | 489 | 7.05 | 0.97 | 0.22 | 0.14 |
NHibernate.DomainModel v4.0.0.4000 | 2070 | 14516 | 168 | 13 | 923 | 30.84 | 66.86 | 0 | 129 | 1.4 | 1 | 0.08 | 0.05 |
Types Metrics
If the code base analyzed has too many types, NDepend doesn't list Types Metrics to avoid a too big report. The section Types Metrics can be activated by unchecking the option: NDepend Project Properties > Report > Avoid too big report for large code base > Hide section Types Metrics if... It is recommended to use the NDepend interactive UI capabilities to browse large applications. |
Namespaces Metrics
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 | % Coverage | Afferent Coupling | Efferent Coupling |
---|---|---|---|---|---|---|---|---|
0 | 1578 | 16 | - | - | - | 6 | 5 | |
NHibernate | 533 | 3568 | 71 | 4541 | 89.5 | 65.48 | 82 | 32 |
NHibernate.Connection | 62 | 364 | 5 | 164 | 72.57 | 72.58 | 10 | 9 |
NHibernate.Driver | 681 | 4746 | 37 | 1056 | 60.79 | 42.73 | 9 | 24 |
NHibernate.Exceptions | 158 | 1148 | 19 | 164 | 50.93 | 39.87 | 18 | 15 |
NHibernate.Impl | 4401 | 32097 | 45 | 1165 | 20.93 | 79.39 | 22 | 60 |
NHibernate.Intercept | 86 | 630 | 9 | 30 | 25.86 | 90.7 | 9 | 14 |
NHibernate.Metadata | 0 | 0 | 2 | 98 | 100 | - | 11 | 5 |
NHibernate.Param | 317 | 3008 | 16 | 159 | 33.4 | 55.84 | 18 | 20 |
NHibernate.Properties | 396 | 2734 | 53 | 717 | 64.42 | 79.29 | 15 | 13 |
NHibernate.SqlTypes | 101 | 779 | 11 | 143 | 58.61 | 85.15 | 22 | 8 |
NHibernate.Transaction | 224 | 1509 | 8 | 155 | 40.9 | 80.36 | 7 | 15 |
NHibernate.Transform | 235 | 1707 | 13 | 224 | 48.8 | 75.32 | 12 | 12 |
NHibernate.Type | 2577 | 19808 | 110 | 2226 | 46.35 | 70.43 | 59 | 41 |
NHibernate.UserTypes | 0 | 0 | 7 | 271 | 100 | - | 5 | 9 |
NHibernate.Util | 1910 | 13588 | 62 | 847 | 30.72 | 70.52 | 67 | 26 |
NHibernate.Action | 554 | 3924 | 14 | 182 | 24.73 | 82.49 | 4 | 24 |
NHibernate.Context | 100 | 660 | 10 | 130 | 56.52 | 9 | 2 | 12 |
NHibernate.Classic | 5 | 38 | 4 | 113 | 95.76 | 20 | 4 | 3 |
NHibernate.DebugHelpers | 20 | 104 | 4 | 3 | 13.04 | - | 0 | 4 |
NHibernate.Stat | 334 | 3007 | 10 | 107 | 24.26 | 73.95 | 11 | 13 |
NHibernate.Engine | 2018 | 14254 | 84 | 2047 | 50.36 | 84.54 | 66 | 49 |
NHibernate.Engine.Transaction | 3 | 28 | 2 | 41 | 93.18 | 66.67 | 3 | 5 |
NHibernate.Engine.Loading | 185 | 1421 | 3 | 168 | 47.59 | 95.68 | 3 | 19 |
NHibernate.Engine.Query | 436 | 3021 | 19 | 89 | 16.95 | 72.71 | 10 | 26 |
NHibernate.Engine.Query.Sql | 67 | 408 | 7 | 75 | 52.82 | 91.04 | 5 | 7 |
NHibernate.AdoNet | 606 | 4009 | 23 | 241 | 28.45 | 63.37 | 10 | 26 |
NHibernate.AdoNet.Util | 344 | 2242 | 7 | 20 | 5.49 | 86.92 | 6 | 10 |
NHibernate.Bytecode | 123 | 757 | 16 | 226 | 64.76 | 61.79 | 21 | 10 |
NHibernate.Bytecode.CodeDom | 80 | 577 | 2 | 39 | 32.77 | - | 1 | 11 |
NHibernate.Bytecode.Lightweight | 109 | 689 | 8 | 50 | 31.45 | 98.17 | 1 | 9 |
NHibernate.Cache | 528 | 3862 | 25 | 617 | 53.89 | 76.89 | 12 | 19 |
NHibernate.Cache.Access | 0 | 0 | 1 | 3 | 100 | - | 3 | 0 |
NHibernate.Cache.Entry | 87 | 527 | 7 | 10 | 10.31 | 33.33 | 7 | 12 |
NHibernate.Cfg | 1857 | 13628 | 34 | 901 | 32.67 | 67.74 | 39 | 54 |
NHibernate.Cfg.Loquacious | 201 | 1623 | 40 | 48 | 19.28 | 87.06 | 1 | 11 |
NHibernate.Cfg.MappingSchema | 866 | 10499 | 130 | 1083 | 55.57 | 81.99 | 4 | 17 |
NHibernate.Cfg.XmlHbmBinding | 1840 | 13954 | 24 | 224 | 10.85 | 89.29 | 1 | 20 |
NHibernate.Cfg.ConfigurationSchema | 311 | 1801 | 10 | 222 | 41.65 | 59.81 | 1 | 8 |
NHibernate.Collection | 318 | 2095 | 6 | 497 | 60.98 | 79.87 | 14 | 14 |
NHibernate.Collection.Generic | 1003 | 6791 | 20 | 214 | 17.58 | 69.39 | 1 | 19 |
NHibernate.Collection.Generic.SetHelpers | 25 | 152 | 2 | 0 | 0 | 64 | 1 | 3 |
NHibernate.Dialect | 2611 | 17121 | 53 | 2231 | 46.08 | 73.08 | 31 | 28 |
NHibernate.Dialect.Function | 326 | 2304 | 26 | 241 | 42.5 | 75.46 | 12 | 14 |
NHibernate.Dialect.Schema | 411 | 3105 | 51 | 128 | 23.75 | 36.01 | 4 | 10 |
NHibernate.Dialect.Lock | 68 | 560 | 3 | 42 | 38.18 | 30.88 | 2 | 13 |
NHibernate.Event | 491 | 3297 | 70 | 367 | 42.77 | 81.06 | 14 | 13 |
NHibernate.Event.Default | 1557 | 11041 | 35 | 879 | 36.08 | 89.53 | 1 | 31 |
NHibernate.Criterion | 1984 | 15146 | 81 | 1824 | 47.9 | 77.57 | 4 | 28 |
NHibernate.Criterion.Lambda | 362 | 3295 | 28 | 307 | 45.89 | 91.71 | 2 | 9 |
NHibernate.Hql | 98 | 686 | 11 | 134 | 57.76 | 36.73 | 9 | 22 |
NHibernate.Hql.Util | 44 | 271 | 1 | 50 | 53.19 | 36.36 | 4 | 8 |
NHibernate.Hql.Ast | 280 | 3192 | 89 | 3 | 1.06 | 66.43 | 4 | 12 |
NHibernate.Hql.Ast.ANTLR | 15103 | 96750 | 39 | 3123 | 17.13 | 80.32 | 7 | 36 |
NHibernate.Hql.Ast.ANTLR.Tree | 2456 | 16694 | 69 | 1155 | 31.99 | 78.5 | 10 | 27 |
NHibernate.Hql.Ast.ANTLR.Exec | 278 | 1968 | 7 | 28 | 9.15 | 80.94 | 1 | 28 |
NHibernate.Hql.Ast.ANTLR.Util | 341 | 2534 | 18 | 144 | 29.69 | 70.67 | 3 | 21 |
NHibernate.Persister | 54 | 476 | 1 | 14 | 20.59 | 48.15 | 1 | 11 |
NHibernate.Persister.Entity | 2404 | 18007 | 24 | 1185 | 33.02 | 88.64 | 32 | 37 |
NHibernate.Persister.Collection | 1058 | 7917 | 12 | 374 | 26.12 | 82.04 | 25 | 33 |
NHibernate.Id | 398 | 2783 | 31 | 774 | 66.04 | 60.3 | 16 | 22 |
NHibernate.Id.Enhanced | 320 | 2912 | 17 | 391 | 54.99 | 82.19 | 1 | 19 |
NHibernate.Id.Insert | 58 | 437 | 9 | 76 | 56.72 | 17.24 | 3 | 15 |
NHibernate.Proxy | 175 | 1474 | 12 | 246 | 58.43 | 90.29 | 16 | 17 |
NHibernate.Proxy.DynamicProxy | 467 | 3257 | 22 | 64 | 12.05 | 88.87 | 2 | 16 |
NHibernate.Proxy.Poco | 43 | 324 | 1 | 34 | 44.16 | 69.77 | 1 | 9 |
NHibernate.Proxy.Map | 35 | 270 | 3 | 2 | 5.41 | 22.86 | 1 | 7 |
NHibernate.Linq | 414 | 3568 | 30 | 96 | 18.82 | 80.68 | 10 | 38 |
NHibernate.Linq.Clauses | 29 | 214 | 3 | 6 | 17.14 | 58.62 | 3 | 10 |
NHibernate.Linq.Expressions | 44 | 362 | 13 | 9 | 16.98 | 52.27 | 4 | 8 |
NHibernate.Linq.ExpressionTransformers | 54 | 681 | 3 | 30 | 35.71 | 79.63 | 1 | 9 |
NHibernate.Linq.Functions | 255 | 7383 | 51 | 28 | 9.89 | 59.61 | 3 | 19 |
NHibernate.Linq.GroupBy | 196 | 1510 | 9 | 58 | 22.83 | 70.41 | 3 | 23 |
NHibernate.Linq.NestedSelects | 161 | 1375 | 5 | 4 | 2.42 | 91.93 | 1 | 24 |
NHibernate.Linq.ReWriters | 183 | 1612 | 11 | 31 | 14.49 | 79.23 | 2 | 23 |
NHibernate.Linq.GroupJoin | 67 | 535 | 7 | 27 | 28.72 | 4.48 | 1 | 15 |
NHibernate.Linq.ResultOperators | 5 | 37 | 2 | 0 | 0 | 60 | 3 | 6 |
NHibernate.Linq.Visitors | 1143 | 9110 | 32 | 310 | 21.34 | 77.87 | 8 | 41 |
NHibernate.Linq.Visitors .ResultOperatorProcessors | 145 | 1803 | 26 | 9 | 5.84 | 60.69 | 1 | 26 |
NHibernate.Loader | 1190 | 8557 | 13 | 606 | 33.74 | 91.01 | 13 | 36 |
NHibernate.Loader.Hql | 163 | 1075 | 1 | 30 | 15.54 | 96.93 | 1 | 24 |
NHibernate.Loader.Criteria | 527 | 3628 | 7 | 84 | 13.75 | 91.27 | 2 | 23 |
NHibernate.Loader.Entity | 125 | 1033 | 8 | 37 | 22.84 | 95.2 | 2 | 16 |
NHibernate.Loader.Collection | 207 | 1630 | 10 | 69 | 25 | 92.75 | 1 | 15 |
NHibernate.Loader.Custom | 285 | 1742 | 17 | 116 | 28.93 | 92.28 | 3 | 20 |
NHibernate.Loader.Custom.Sql | 293 | 2231 | 7 | 37 | 11.21 | 91.47 | 2 | 19 |
NHibernate.Mapping | 2025 | 14267 | 59 | 1669 | 45.18 | 81.83 | 14 | 25 |
NHibernate.Mapping.ByCode | 2135 | 20621 | 188 | 198 | 8.49 | 74.85 | 3 | 24 |
NHibernate.Mapping.ByCode.Conformist | 5 | 40 | 5 | 0 | 0 | 100 | 0 | 4 |
NHibernate.Mapping.ByCode.Impl | 2606 | 20748 | 79 | 64 | 2.4 | 61.13 | 3 | 21 |
NHibernate.Mapping.ByCode.Impl .CustomizersImpl | 1001 | 10005 | 30 | 9 | 0.89 | 56.54 | 2 | 10 |
NHibernate.SqlCommand | 1759 | 12747 | 38 | 1081 | 38.06 | 70.89 | 35 | 23 |
NHibernate.SqlCommand.Parser | 350 | 2966 | 8 | 77 | 18.03 | 48.57 | 2 | 10 |
NHibernate.Tool.hbm2ddl | 500 | 3396 | 13 | 172 | 25.6 | 68 | 2 | 22 |
NHibernate.Tuple | 168 | 1162 | 10 | 218 | 56.48 | 87.5 | 4 | 16 |
NHibernate.Tuple.Component | 147 | 1000 | 6 | 53 | 26.5 | 80.27 | 2 | 14 |
NHibernate.Tuple.Entity | 530 | 3860 | 6 | 158 | 22.97 | 84.15 | 5 | 22 |
NHibernate.DomainModel | 1373 | 9198 | 97 | 753 | 35.42 | 78.88 | 0 | 28 |
NHibernate.DomainModel.NHSpecific | 409 | 2675 | 30 | 143 | 25.91 | 73.59 | 1 | 15 |
NHibernate.DomainModel.Northwind .Entities | 288 | 2643 | 41 | 0 | 0 | - | 0 | 12 |
Project Rules | 000 |
Rules in : NDepend_v2017_1_0_Defaul tRules.ndrules | 326 |
Quality Gates | 326 |
|
![]() | Quality Gate Warn: Percentage Code Coverage |
Scalar Result: 76.25 %
![]() | Quality Gate Warn: Percentage Coverage on New Code |
Scalar Result: 74.83 %
![]() | Quality Gate Pass: Percentage Coverage on Refactored Code |
Scalar Result: 83.01 %
![]() | Quality Gate Pass: Blocker Issues |
No issue matched
![]() | Quality Gate Fail: Critical Issues |
11 issues matched
11 issues | Severity | Debt | Annual Interest | Full Name |
---|---|---|---|---|
Critical issue on: NHibernate.SqlCommand.QuerySelect | Critical | 3h 0min | 4h 0min | Rule violated: Avoid decreasing code coverage by tests of types |
Critical issue on: NHibernate.Hql.QuerySplitter | Critical | 1h 36min | 4h 0min | Rule violated: Avoid decreasing code coverage by tests of types |
Critical issue on: NHibernate.LoggerProvider | Critical | 1d 0h | 3h 2min | Rule violated: Avoid the Singleton pattern |
Critical issue on: NHibernate.Cfg.Configuration+Mapping | Critical | 15min | 2h 13min | Rule violated: Avoid namespaces mutually dependent |
Critical issue on: NHibernate.Util.FilterHelper | Critical | 15min | 2h 15min | Rule violated: Avoid namespaces mutually dependent |
Critical issue on: NHibernate.Cfg.SettingsFactory | Critical | 15min | 5h 42min | Rule violated: Avoid namespaces mutually dependent |
Critical issue on: NHibernate.Dialect.Dialect | Critical | 15min | 2h 23min | Rule violated: Avoid namespaces mutually dependent |
Critical issue on: NHibernate.Hql.StringQueryExpression | Critical | 15min | 2h 36min | Rule violated: Avoid namespaces mutually dependent |
Critical issue on: NHibernate.Hql .StringQueryExpression.Translate (ISessionFactoryImplementor,Boolean) | Critical | 20min | 2h 36min | Rule violated: Avoid namespaces mutually dependent |
Critical issue on: NHibernate.Hql.Util .SessionFactoryHelper | Critical | 15min | 2h 36min | Rule violated: Avoid namespaces mutually dependent |
Critical issue on: NHibernate.Hql.Util .SessionFactoryHelper .RequireClassPersister(String) | Critical | 15min | 2h 36min | Rule violated: Avoid namespaces mutually dependent |
Statistics
Stat | Severity | Debt | Annual Interest |
---|---|---|---|
Sum: | - | 1d 7h | 4d 2h |
Average: | - | 1h 23min | 3h 5min |
Minimum: | - | 15min | 2h 13min |
Maximum: | - | 1d 0h | 5h 42min |
Standard deviation: | - | 2h 25min | 1h 1min |
Variance: | - | 2 652d | 465d |
![]() | Quality Gate Fail: New Blocker / Critical / Major Issues |
1,639 issues matched
1 639 issues | Severity | Debt | Annual Interest | Full Name |
---|---|---|---|---|
Major issue on: NHibernate.Engine.ISessionImplementor | Major | 2h 27min | 21min | Rule violated: Avoid types with too many methods |
Major issue on: NHibernate.Criterion .ProjectionsExtensions | Major | 2h 24min | 20min | Rule violated: Avoid types with too many methods |
Major issue on: NHibernate.Mapping .ByCode.Impl.ExplicitDeclarationsHolder | Major | 1h 1min | 20min | Rule violated: Avoid types with poor cohesion |
Major issue on: NHibernate.Loader.Hql.QueryLoader | Major | 10min | 1h 0min | Rule violated: From now, all types added should respect basic quality principles |
Major issue on: NHibernate.Driver .OracleManagedDataClientDriver | Major | 10min | 1h 0min | Rule violated: From now, all types added should be 100% covered by tests |
Major issue on: NHibernate.Impl.AbstractQueryImpl2 | Major | 10min | 1h 0min | Rule violated: From now, all types added should be 100% covered by tests |
Major issue on: NHibernate.Impl.HqlTranslatorWrapper | Major | 10min | 1h 0min | Rule violated: From now, all types added should be 100% covered by tests |
Major issue on: NHibernate.Impl.SqlTranslator | Major | 10min | 1h 0min | Rule violated: From now, all types added should be 100% covered by tests |
Major issue on: NHibernate.Transaction .AfterTransactionCompletes | Major | 10min | 1h 0min | Rule violated: From now, all types added should be 100% covered by tests |
Major issue on: NHibernate.Transform .AliasedTupleSubsetResultTransformer | Major | 10min | 1h 0min | Rule violated: From now, all types added should be 100% covered by tests |
Major issue on: NHibernate.Transform .CacheableResultTransformer | Major | 10min | 1h 0min | Rule violated: From now, all types added should be 100% covered by tests |
Major issue on: NHibernate.Util.EnumeratorAdapter<T> | Major | 10min | 1h 0min | Rule violated: From now, all types added should be 100% covered by tests |
Major issue on: NHibernate.Util .JoinedEnumerable+JoinedEnumerator | Major | 10min | 1h 0min | Rule violated: From now, all types added should be 100% covered by tests |
Major issue on: NHibernate.Util.ObjectHelpers | Major | 10min | 1h 0min | Rule violated: From now, all types added should be 100% covered by tests |
Major issue on: NHibernate.Util.TypeExtensions | Major | 10min | 1h 0min | Rule violated: From now, all types added should be 100% covered by tests |
Major issue on: NHibernate.Engine .CascadeStyle+CascadeStyleSingletonRefer ence | Major | 10min | 1h 0min | Rule violated: From now, all types added should be 100% covered by tests |
Major issue on: NHibernate.AdoNet .MySqlClientBatchingBatcher | Major | 10min | 1h 0min | Rule violated: From now, all types added should be 100% covered by tests |
Major issue on: NHibernate.AdoNet .MySqlClientBatchingBatcherFactory | Major | 10min | 1h 0min | Rule violated: From now, all types added should be 100% covered by tests |
Major issue on: NHibernate.AdoNet .MySqlClientSqlCommandSet | Major | 10min | 1h 0min | Rule violated: From now, all types added should be 100% covered by tests |
Major issue on: NHibernate.Collection .Generic.PersistentGenericSet<T >+ClearDelayedOperation | Major | 10min | 1h 0min | Rule violated: From now, all types added should be 100% covered by tests |
Major issue on: NHibernate.Collection .Generic.PersistentGenericSet<T >+SimpleAddDelayedOperation | Major | 10min | 1h 0min | Rule violated: From now, all types added should be 100% covered by tests |
Major issue on: NHibernate.Collection .Generic.PersistentGenericSet<T >+SimpleRemoveDelayedOperation | Major | 10min | 1h 0min | Rule violated: From now, all types added should be 100% covered by tests |
Major issue on: NHibernate.Collection .Generic.PersistentGenericBag<T >+ClearDelayedOperation | Major | 10min | 1h 0min | Rule violated: From now, all types added should be 100% covered by tests |
Major issue on: NHibernate.Collection .Generic.PersistentGenericList<T >+ClearDelayedOperation | Major | 10min | 1h 0min | Rule violated: From now, all types added should be 100% covered by tests |
Major issue on: NHibernate.Collection .Generic.PersistentGenericList<T >+SimpleAddDelayedOperation | Major | 10min | 1h 0min | Rule violated: From now, all types added should be 100% covered by tests |
Major issue on: NHibernate.Collection .Generic.PersistentGenericList<T >+AddDelayedOperation | Major | 10min | 1h 0min | Rule violated: From now, all types added should be 100% covered by tests |
Major issue on: NHibernate.Collection .Generic.PersistentGenericList<T >+SetDelayedOperation | Major | 10min | 1h 0min | Rule violated: From now, all types added should be 100% covered by tests |
Major issue on: NHibernate.Collection .Generic.PersistentGenericList<T >+RemoveDelayedOperation | Major | 10min | 1h 0min | Rule violated: From now, all types added should be 100% covered by tests |
Major issue on: NHibernate.Collection .Generic.PersistentGenericList<T >+SimpleRemoveDelayedOperation | Major | 10min | 1h 0min | Rule violated: From now, all types added should be 100% covered by tests |
Major issue on: NHibernate.Collection .Generic.PersistentGenericMap<TKey ,TValue>+ClearDelayedOperation | Major | 10min | 1h 0min | Rule violated: From now, all types added should be 100% covered by tests |
Major issue on: NHibernate.Collection .Generic.PersistentGenericMap<TKey ,TValue>+PutDelayedOperation | Major | 10min | 1h 0min | Rule violated: From now, all types added should be 100% covered by tests |
Major issue on: NHibernate.Collection .Generic.PersistentGenericMap<TKey ,TValue>+RemoveDelayedOperation | Major | 10min | 1h 0min | Rule violated: From now, all types added should be 100% covered by tests |
Major issue on: NHibernate.Collection .Generic.PersistentIdentifierBag<T >+SnapshotElement | Major | 10min | 1h 0min | Rule violated: From now, all types added should be 100% covered by tests |
Major issue on: NHibernate.Collection .Generic.SetHelpers.SetSnapShot<T> | Major | 10min | 1h 0min | Rule violated: From now, all types added should be 100% covered by tests |
Major issue on: NHibernate.Dialect .BitwiseFunctionOperation | Major | 10min | 1h 0min | Rule violated: From now, all types added should be 100% covered by tests |
Major issue on: NHibernate.Dialect.Ingres9Dialect | Major | 10min | 1h 0min | Rule violated: From now, all types added should be 100% covered by tests |
Major issue on: NHibernate.Dialect .BitwiseNativeOperation | Major | 10min | 1h 0min | Rule violated: From now, all types added should be 100% covered by tests |
Major issue on: NHibernate.Dialect.Oracle12cDialect | Major | 10min | 1h 0min | Rule violated: From now, all types added should be 100% covered by tests |
Major issue on: NHibernate.Hql.ParserHelper | Major | 10min | 1h 0min | Rule violated: From now, all types added should be 100% covered by tests |
Major issue on: NHibernate.Hql.Ast.ANTLR .HqlFilterPreprocessor | Major | 10min | 1h 0min | Rule violated: From now, all types added should be 100% covered by tests |
Major issue on: NHibernate.Hql.Ast.ANTLR .Tree.ResultVariableRefNode | Major | 10min | 1h 0min | Rule violated: From now, all types added should be 100% covered by tests |
Major issue on: NHibernate.Linq.ExpressionExtensions | Major | 10min | 1h 0min | Rule violated: From now, all types added should be 100% covered by tests |
Major issue on: NHibernate.Linq.QueryProviderFactory | Major | 10min | 1h 0min | Rule violated: From now, all types added should be 100% covered by tests |
Major issue on: NHibernate.Linq.Clauses.NhJoinClause | Major | 10min | 1h 0min | Rule violated: From now, all types added should be 100% covered by tests |
Major issue on: NHibernate.Linq.Clauses.NhWithClause | Major | 10min | 1h 0min | Rule violated: From now, all types added should be 100% covered by tests |
Major issue on: NHibernate.Linq.GroupBy .GroupKeyNominator | Major | 10min | 1h 0min | Rule violated: From now, all types added should be 100% covered by tests |
Major issue on: NHibernate.Linq .ReWriters.ArrayIndexExpressionFlattener | Major | 10min | 1h 0min | Rule violated: From now, all types added should be 100% covered by tests |
Major issue on: NHibernate.Linq.Visitors .LeftJoinRewriter | Major | 10min | 1h 0min | Rule violated: From now, all types added should be 100% covered by tests |
Major issue on: NHibernate.Linq.Visitors .SimplifyConditionalVisitor | Major | 10min | 1h 0min | Rule violated: From now, all types added should be 100% covered by tests |
Major issue on: NHibernate.Linq.Visitors .SubQueryFromClauseFlattener | Major | 10min | 1h 0min | Rule violated: From now, all types added should be 100% covered by tests |
Major issue on: NHibernate.Loader.Hql.QueryLoader | Major | 10min | 1h 0min | Rule violated: From now, all types added should be 100% covered by tests |
Major issue on: NHibernate.Mapping .ReferenceDependantValue | Major | 10min | 1h 0min | Rule violated: From now, all types added should be 100% covered by tests |
Major issue on: NHibernate.Mapping .ByCode.UUIDStringGeneratorDef | Major | 10min | 1h 0min | Rule violated: From now, all types added should be 100% covered by tests |
Major issue on: NHibernate.Mapping .ByCode.UUIDHexGeneratorDef | Major | 10min | 1h 0min | Rule violated: From now, all types added should be 100% covered by tests |
Major issue on: NHibernate.Mapping .ByCode.TriggerIdentityGeneratorDef | Major | 10min | 1h 0min | Rule violated: From now, all types added should be 100% covered by tests |
Major issue on: NHibernate.Mapping .ByCode.TableHiLoGeneratorDef | Major | 10min | 1h 0min | Rule violated: From now, all types added should be 100% covered by tests |
Major issue on: NHibernate.Mapping .ByCode.TableGeneratorDef | Major | 10min | 1h 0min | Rule violated: From now, all types added should be 100% covered by tests |
Major issue on: NHibernate.Mapping .ByCode.SequenceIdentityGeneratorDef | Major | 10min | 1h 0min | Rule violated: From now, all types added should be 100% covered by tests |
Major issue on: NHibernate.Mapping .ByCode.SequenceHiLoGeneratorDef | Major | 10min | 1h 0min | Rule violated: From now, all types added should be 100% covered by tests |
Major issue on: NHibernate.Mapping .ByCode.SelectGeneratorDef | Major | 10min | 1h 0min | Rule violated: From now, all types added should be 100% covered by tests |
Major issue on: NHibernate.Mapping .ByCode.NativeGuidGeneratorDef | Major | 10min | 1h 0min | Rule violated: From now, all types added should be 100% covered by tests |
Major issue on: NHibernate.Mapping .ByCode.IncrementGeneratorDef | Major | 10min | 1h 0min | Rule violated: From now, all types added should be 100% covered by tests |
Major issue on: NHibernate.Mapping .ByCode.CounterGeneratorDef | Major | 10min | 1h 0min | Rule violated: From now, all types added should be 100% covered by tests |
Major issue on: NHibernate.Mapping .ByCode.EnhancedSequenceGeneratorDef | Major | 10min | 1h 0min | Rule violated: From now, all types added should be 100% covered by tests |
Major issue on: NHibernate.Mapping .ByCode.EnhancedTableGeneratorDef | Major | 10min | 1h 0min | Rule violated: From now, all types added should be 100% covered by tests |
Major issue on: NHibernate.SqlCommand .BackTrackCacheParameterList | Major | 10min | 1h 0min | Rule violated: From now, all types added should be 100% covered by tests |
Major issue on: NHibernate.Impl .AbstractSessionImpl.List<T> (IQueryExpression,QueryParameters) | Major | 5min | 1h 0min | Rule violated: From now, all methods added should respect basic quality principles |
Major issue on: NHibernate.Impl .SessionImpl..ctor(IDbConnection ,SessionFactoryImpl,Boolean,Int64 ,IInterceptor,EntityMode,Boolean,Boolean ,Boolean,ConnectionReleaseMode,FlushMode ) | Major | 5min | 1h 0min | Rule violated: From now, all methods added should respect basic quality principles |
Major issue on: NHibernate.Type .ManyToOneType..ctor(String,String ,Boolean,Boolean,Boolean,Boolean,Boolean ) | Major | 5min | 1h 0min | Rule violated: From now, all methods added should respect basic quality principles |
Major issue on: NHibernate.Type .TypeFactory.ManyToOne(String,String ,Boolean,Boolean,Boolean,Boolean,Boolean ) | Major | 5min | 1h 0min | Rule violated: From now, all methods added should respect basic quality principles |
Major issue on: NHibernate.Util .FilterHelper.Render(StringBuilder ,String,IDictionary<String,String> ,IDictionary<String,IFilter>) | Major | 5min | 1h 0min | Rule violated: From now, all methods added should respect basic quality principles |
Major issue on: NHibernate.Engine .Cascade.CascadeProperty(Object,Object ,IType,CascadeStyle,String,Object ,Boolean) | Major | 5min | 1h 0min | Rule violated: From now, all methods added should respect basic quality principles |
Major issue on: NHibernate.Engine .ISessionImplementor.List (IQueryExpression,QueryParameters,IList) | Major | 5min | 1h 0min | Rule violated: From now, all methods added should respect basic quality principles |
Major issue on: NHibernate.Engine .ISessionImplementor.List<T> (IQueryExpression,QueryParameters) | Major | 5min | 1h 0min | Rule violated: From now, all methods added should respect basic quality principles |
Major issue on: NHibernate.Engine .BatchFetchQueue.GetCollectionBatch (ICollectionPersister,Object,Int32) | Major | 5min | 1h 0min | Rule violated: From now, all methods added should respect basic quality principles |
Major issue on: NHibernate.Engine .BatchFetchQueue.GetEntityBatch (IEntityPersister,Object,Int32) | Major | 5min | 1h 0min | Rule violated: From now, all methods added should respect basic quality principles |
Major issue on: NHibernate.Collection .Generic.PersistentGenericBag<T> .AfterInitialize(ICollectionPersister) | Major | 5min | 1h 0min | Rule violated: From now, all methods added should respect basic quality principles |
Major issue on: NHibernate.Event.Default .DefaultDeleteEventListener.OnDelete (DeleteEvent,ISet<Object>) | Major | 5min | 1h 0min | Rule violated: From now, all methods added should respect basic quality principles |
Major issue on: NHibernate.Event.Default .DefaultDeleteEventListener.DeleteEntity (IEventSource,Object,EntityEntry,Boolean ,IEntityPersister,ISet<Object>) | Major | 5min | 1h 0min | Rule violated: From now, all methods added should respect basic quality principles |
Major issue on: NHibernate.Persister .Entity.AbstractEntityPersister .GetColumnsToTableAliasMap(String) | Major | 5min | 1h 0min | Rule violated: From now, all methods added should respect basic quality principles |
Major issue on: NHibernate.Persister .Entity.AbstractEntityPersister .ProcessGeneratedPropertiesWithGenerated Sql(Object,Object,Object[] ,ISessionImplementor,SqlString ,ValueInclusion[]) | Major | 5min | 1h 0min | Rule violated: From now, all methods added should respect basic quality principles |
Major issue on: NHibernate.Proxy .DefaultLazyInitializer..ctor(String ,Type,Object,MethodInfo,MethodInfo ,IAbstractComponentType ,ISessionImplementor,Boolean) | Major | 5min | 1h 0min | Rule violated: From now, all methods added should respect basic quality principles |
Major issue on: NHibernate.Proxy.Poco .BasicLazyInitializer..ctor(String,Type ,Object,MethodInfo,MethodInfo ,IAbstractComponentType ,ISessionImplementor,Boolean) | Major | 5min | 1h 0min | Rule violated: From now, all methods added should respect basic quality principles |
Major issue on: NHibernate.Linq .Functions.ConvertToInt32Generator..ctor () | Major | 5min | 1h 0min | Rule violated: From now, all methods added should respect basic quality principles |
Major issue on: NHibernate.Linq .Functions.ConvertToDecimalGenerator. .ctor() | Major | 5min | 1h 0min | Rule violated: From now, all methods added should respect basic quality principles |
Major issue on: NHibernate.Linq .Functions.ConvertToDoubleGenerator. .ctor() | Major | 5min | 1h 0min | Rule violated: From now, all methods added should respect basic quality principles |
Major issue on: NHibernate.Linq.GroupBy .AggregatingGroupByRewriter .FlattenSubQuery(QueryModel,QueryModel ,GroupResultOperator) | Major | 5min | 1h 0min | Rule violated: From now, all methods added should respect basic quality principles |
Major issue on: NHibernate.Linq.Visitors.VisitorUtil .IsDynamicComponentDictionaryGetter (MethodInfo,Expression,IEnumerable <Expression>,ISessionFactory,String&) | Major | 5min | 1h 0min | Rule violated: From now, all methods added should respect basic quality principles |
Major issue on: NHibernate.Loader.Loader .GetRowFromResultSet(IDataReader ,ISessionImplementor,QueryParameters ,LockMode[],EntityKey,IList,EntityKey[] ,Boolean,IResultTransformer) | Major | 5min | 1h 0min | Rule violated: From now, all methods added should respect basic quality principles |
Major issue on: NHibernate.Loader.Loader .DoQuery(ISessionImplementor ,QueryParameters,Boolean ,IResultTransformer) | Major | 5min | 1h 0min | Rule violated: From now, all methods added should respect basic quality principles |
Major issue on: NHibernate.Loader .AbstractEntityJoinWalker .InitStatementString(SqlString,SqlString ,SqlString,SqlString,SqlString,LockMode) | Major | 5min | 1h 0min | Rule violated: From now, all methods added should respect basic quality principles |
Major issue on: NHibernate.Loader.Hql .QueryLoader.Initialize(SelectClause) | Major | 5min | 1h 0min | Rule violated: From now, all methods added should respect basic quality principles |
Major issue on: NHibernate.Mapping .ByCode.Impl.IdMapper.Column(Action <IColumnMapper>) | Major | 5min | 1h 0min | Rule violated: From now, all methods added should respect basic quality principles |
Critical issue on: NHibernate.SqlCommand.QuerySelect | Critical | 3h 0min | 4h 0min | Rule violated: Avoid decreasing code coverage by tests of types |
Critical issue on: NHibernate.Hql.QuerySplitter | Critical | 1h 36min | 4h 0min | Rule violated: Avoid decreasing code coverage by tests of types |
Major issue on: NHibernate.Engine.JoinSequence | Major | 28min | 55min | Rule violated: Avoid decreasing code coverage by tests of types |
Major issue on: NHibernate.SqlCommand.SqlString | Major | 21min | 37min | Rule violated: Avoid decreasing code coverage by tests of types |
Major issue on: NHibernate.Engine .ActionQueue+BeforeTransactionCompletion ProcessQueue | Major | 20min | 33min | Rule violated: Avoid decreasing code coverage by tests of types |
Major issue on: NHibernate.Cfg.ConfigurationSchema .HibernateConfiguration | Major | 20min | 33min | Rule violated: Avoid decreasing code coverage by tests of types |
Major issue on: NHibernate.Event.MergeEvent | Major | 20min | 33min | Rule violated: Avoid decreasing code coverage by tests of types |
Statistics
Stat | Severity | Debt | Annual Interest |
---|---|---|---|
Sum: | - | 32d | 82d |
Average: | - | 9min | 24min |
Minimum: | - | 2min 0s | 20min |
Maximum: | - | 3h 0min | 5h 42min |
Standard deviation: | - | 10min | 16min |
Variance: | - | 13d 6h | 34d |
![]() | Quality Gate Fail: Critical Rules Violated |
13 rules matched
13 rules | issues | Full Name |
---|---|---|
Avoid types too big | 40 issues | Rule |
Avoid methods too big, too complex | 56 issues | Rule |
Avoid methods with too many parameters | 75 issues | Rule |
Do not hide base class methods | 2 issues | Rule |
Avoid namespaces mutually dependent | 1 304 issues | Rule |
API Breaking Changes: Types | 60 issues | Rule |
API Breaking Changes: Methods | 450 issues | Rule |
API Breaking Changes: Fields | 210 issues | Rule |
API Breaking Changes: Interfaces and Abstract Classes | 40 issues | Rule |
Avoid non-readonly static fields | 64 issues | Rule |
Interface name should begin with a 'I' | 5 issues | Rule |
Exception class name should be suffixed with 'Exception' | 2 issues | Rule |
Avoid having different types with same name | 23 issues | Rule |
Statistics
Stat | issues |
---|---|
Sum: | 2 331 |
Average: | 179.31 |
Minimum: | 2 |
Maximum: | 1 304 |
Standard deviation: | 345.22 |
Variance: | 119 175 |
![]() | Quality Gate Pass: Percentage Debt |
Scalar Result: 19.01 %
![]() | Quality Gate Fail: New Debt since Baseline |
Scalar Result: 14.71 man-days
![]() | Quality Gate Fail: Debt Rating per Namespace |
45 namespaces matched
45 namespaces | debtRating | debtRatio | devTimeInManDay | debtInManDay | issues | Full Name |
---|---|---|---|---|---|---|
NHibernate | E | 50.96 | 28d | 14d 2h | 488 issues | NHibernate |
NHibernate.Driver | D | 21.67 | 20d | 4d 4h | 373 issues | NHibernate.Driver |
NHibernate.Exceptions | D | 30.88 | 4d 4h | 1d 3h | 79 issues | NHibernate.Exceptions |
NHibernate.Impl | D | 23.11 | 104d | 24d | 817 issues | NHibernate.Impl |
NHibernate.Metadata | D | 40.35 | 5h 45min | 2h 19min | 4 issues | NHibernate.Metadata |
NHibernate.Type | D | 23.14 | 72d | 16d 7h | 1 009 issues | NHibernate.Type |
NHibernate.Context | D | 31.03 | 3d 1h | 7h 54min | 70 issues | NHibernate.Context |
NHibernate.DebugHelpers | D | 24.14 | 5h 19min | 1h 17min | 24 issues | NHibernate.DebugHelpers |
NHibernate.Stat | D | 20.5 | 10d 7h | 2d 1h | 124 issues | NHibernate.Stat |
NHibernate.Engine | D | 42.51 | 57d | 24d | 777 issues | NHibernate.Engine |
NHibernate.Engine.Transaction | E | 59.6 | 1h 43min | 1h 1min | 9 issues | NHibernate.Engine.Transaction |
NHibernate.Engine.Query | D | 29.58 | 10d 7h | 3d 1h | 107 issues | NHibernate.Engine.Query |
NHibernate.AdoNet | D | 21.43 | 16d 1h | 3d 3h | 192 issues | NHibernate.AdoNet |
NHibernate.Bytecode | D | 25.72 | 3d 6h | 7h 46min | 44 issues | NHibernate.Bytecode |
NHibernate.Bytecode.CodeDom | E | 52.61 | 1d 6h | 7h 52min | 20 issues | NHibernate.Bytecode.CodeDom |
NHibernate.Cache.Access | E | 104.17 | 17min | 18min | 2 issues | NHibernate.Cache.Access |
NHibernate.Cfg | D | 28.03 | 47d | 13d 3h | 443 issues | NHibernate.Cfg |
NHibernate.Cfg.ConfigurationSchema | D | 27.45 | 7d 5h | 2d 0h | 57 issues | NHibernate.Cfg.ConfigurationSchema |
NHibernate.Collection | D | 41.56 | 9d 1h | 3d 6h | 102 issues | NHibernate.Collection |
NHibernate.Collection.Generic | D | 20.02 | 24d | 4d 7h | 374 issues | NHibernate.Collection.Generic |
NHibernate.Dialect.Lock | D | 33.8 | 1d 4h | 4h 14min | 13 issues | NHibernate.Dialect.Lock |
NHibernate.Criterion | D | 22.84 | 57d | 13d 1h | 653 issues | NHibernate.Criterion |
NHibernate.Hql | E | 60.73 | 3d 0h | 1d 6h | 64 issues | NHibernate.Hql |
NHibernate.Hql.Util | D | 35.43 | 1d 0h | 2h 57min | 14 issues | NHibernate.Hql.Util |
NHibernate.Hql.Ast | D | 20.48 | 10d 2h | 2d 0h | 255 issues | NHibernate.Hql.Ast |
NHibernate.Hql.Ast.ANTLR.Tree | D | 25.87 | 61d | 15d 6h | 595 issues | NHibernate.Hql.Ast.ANTLR.Tree |
NHibernate.Hql.Ast.ANTLR.Util | D | 25.18 | 8d 2h | 2d 0h | 89 issues | NHibernate.Hql.Ast.ANTLR.Util |
NHibernate.Persister | D | 34.51 | 1d 1h | 3h 10min | 6 issues | NHibernate.Persister |
NHibernate.Persister.Entity | D | 29.04 | 58d | 17d 0h | 311 issues | NHibernate.Persister.Entity |
NHibernate.Persister.Collection | D | 28.52 | 26d | 7d 4h | 169 issues | NHibernate.Persister.Collection |
NHibernate.Id.Insert | D | 33.94 | 1d 7h | 5h 10min | 37 issues | NHibernate.Id.Insert |
NHibernate.Proxy | D | 37.36 | 5d 3h | 2d 0h | 68 issues | NHibernate.Proxy |
NHibernate.Proxy.Poco | D | 38.28 | 1d 0h | 3h 8min | 14 issues | NHibernate.Proxy.Poco |
NHibernate.Proxy.Map | D | 27.87 | 1d 1h | 2h 38min | 26 issues | NHibernate.Proxy.Map |
NHibernate.Linq.Expressions | D | 25.86 | 1d 7h | 3h 59min | 54 issues | NHibernate.Linq.Expressions |
NHibernate.Linq.ReWriters | D | 28.01 | 4d 5h | 1d 2h | 60 issues | NHibernate.Linq.ReWriters |
NHibernate.Linq.GroupJoin | D | 35.54 | 2d 1h | 6h 5min | 55 issues | NHibernate.Linq.GroupJoin |
NHibernate.Linq.ResultOperators | D | 23.89 | 2h 26min | 35min | 8 issues | NHibernate.Linq.ResultOperators |
NHibernate.Loader | D | 21.72 | 27d | 5d 7h | 165 issues | NHibernate.Loader |
NHibernate.Mapping.ByCode | D | 27.1 | 70d | 19d 1h | 877 issues | NHibernate.Mapping.ByCode |
NHibernate.SqlCommand | D | 21.87 | 41d | 9d 0h | 362 issues | NHibernate.SqlCommand |
NHibernate.Tuple | D | 21.52 | 4d 7h | 1d 0h | 39 issues | NHibernate.Tuple |
NHibernate.Tuple.Entity | D | 20.53 | 13d 6h | 2d 6h | 78 issues | NHibernate.Tuple.Entity |
NHibernate.DomainModel | D | 24.2 | 53d | 12d 7h | 800 issues | NHibernate.DomainModel |
NHibernate.DomainModel.NHSpecific | D | 22.37 | 14d 6h | 3d 2h | 237 issues | NHibernate.DomainModel.NHSpecific |
Statistics
Stat | debtRating | debtRatio | devTimeInManDay | debtInManDay | issues |
---|---|---|---|---|---|
Sum: | - | 1 445 | 902d | 244d | 10 164 |
Average: | - | 32.11 | 20d | 5d 3h | 225.87 |
Minimum: | - | 20.02 | 17min | 18min | 2 |
Maximum: | - | 104.17 | 104d | 24d | 1 009 |
Standard deviation: | - | 14.79 | 25d | 6d 6h | 276.05 |
Variance: | - | 218.64 | 18 336 782d | 1 341 201d | 76 206 |
![]() | Quality Gate Fail: New Annual Interest since Baseline |
Scalar Result: 69.23 man-days
Rules extracted from Source Code | 000 |
Rules in : NDepend_v2017_1_0_Defaul tRules.ndrules | 408913 |
Code Smells | 063 |
|
![]() | Critical Rule Violated: Avoid types too big |
• How to Fix Issues: Types with many lines of code should be split in a group of smaller types. To refactor a God Class you'll need patience, and you might even need to recreate everything from scratch. Here are a few refactoring advices: • The logic in the God Class must be splitted in smaller classes. These smaller classes can eventually become private classes nested in the original God Class, whose instances objects become composed of instances of smaller nested classes. • Smaller classes partitioning should be driven by the multiple responsibilities handled by the God Class. To identify these responsibilities it often helps to look for subsets of methods strongly coupled with subsets of fields. • If the God Class contains way more logic than states, a good option can be to define one or several static classes that contains no static field but only pure static methods. A pure static method is a function that computes a result only from inputs parameters, it doesn't read nor assign any static or instance field. The main advantage of pure static methods is that they are easily testable. • Try to maintain the interface of the God Class at first and delegate calls to the new extracted classes. In the end the God Class should be a pure facade without its own logic. Then you can keep it for convenience or throw it away and start to use the new classes only. • Unit Tests can help: write tests for each method before extracting it to ensure you don't break functionality. The estimated Debt, which means the effort to fix such issue, varies linearly from 1 hour for a 200 lines of code type, up to 10 hours for a type with 2.000 or more lines of code. In Debt and Interest computation, this rule takes account of the fact that static types with no mutable fields are just a collection of static methods that can be easily splitted and moved from one type to another.
40 types matched
-
Formatting: bold means added, underlined means code was changed,
strike-boldmeans removed (since baseline)
40 types | locJustMyCode | # IL instructions | Methods | Fields | Debt | Annual Interest | Full Name |
---|---|---|---|---|---|---|---|
AbstractEntityPersister | 1 491 | 11 687 | 322 methods | 88 fields | 7h 27min | 1h 26min | NHibernate.Persister.Entity .AbstractEntityPersister |
Configuration | 994 | 6 317 | 122 methods | 35 fields | 4h 58min | 54min | NHibernate.Cfg.Configuration |
SessionImpl | 891 | 6 892 | 177 methods | 24 fields | 4h 27min | 47min | NHibernate.Impl.SessionImpl |
AbstractCollectionPersister | 716 | 5 227 | 152 methods | 90 fields | 3h 34min | 35min | NHibernate.Persister.Collection .AbstractCollectionPersister |
ModelMapper | 592 | 7 194 | 163 methods | 43 fields | 2h 57min | 27min | NHibernate.Mapping.ByCode.ModelMapper |
Loader | 574 | 4 213 | 89 methods | 5 fields | 2h 52min | 26min | NHibernate.Loader.Loader |
StatefulPersistenceContext | 501 | 3 348 | 93 methods | 25 fields | 2h 30min | 21min | NHibernate.Engine .StatefulPersistenceContext |
CollectionBinder | 434 | 3 335 | 44 methods | no field | 2h 10min | 17min | NHibernate.Cfg.XmlHbmBinding .CollectionBinder |
SessionFactoryImpl | 417 | 2 820 | 70 methods | 33 fields | 2h 5min | 16min | NHibernate.Impl.SessionFactoryImpl |
MultiQueryImpl | 401 | 2 538 | 64 methods | 19 fields | 2h 0min | 15min | NHibernate.Impl.MultiQueryImpl |
SingleTableEntityPersister | 371 | 2 488 | 57 methods | 39 fields | 1h 51min | 13min | NHibernate.Persister.Entity .SingleTableEntityPersister |
CriteriaQueryTranslator | 351 | 2 418 | 55 methods | 21 fields | 1h 45min | 11min | NHibernate.Loader.Criteria .CriteriaQueryTranslator |
ExpressionProcessor | 346 | 3 720 | 45 methods | 6 fields | 1h 43min | 11min | NHibernate.Impl.ExpressionProcessor |
AbstractQueryImpl | 345 | 2 462 | 118 methods | 24 fields | 1h 43min | 11min | NHibernate.Impl.AbstractQueryImpl |
SqlString | 340 | 3 181 | 45 methods | 7 fields | 1h 42min | 11min | NHibernate.SqlCommand.SqlString |
JoinWalker | 337 | 2 323 | 60 methods | 17 fields | 1h 41min | 10min | NHibernate.Loader.JoinWalker |
SimpleModelInspector | 335 | 2 750 | 128 methods | 27 fields | 1h 40min | 10min | NHibernate.Mapping.ByCode .SimpleModelInspector |
Dialect | 331 | 2 275 | 151 methods | 12 fields | 1h 39min | 10min | NHibernate.Dialect.Dialect |
Table | 320 | 2 302 | 70 methods | 20 fields | 1h 36min | 9min | NHibernate.Mapping.Table |
SybaseSQLAnywhere10Dialect | 313 | 2 065 | 61 methods | no field | 1h 33min | 9min | NHibernate.Dialect .SybaseSQLAnywhere10Dialect |
ComponentType | 312 | 2 081 | 50 methods | 9 fields | 1h 33min | 9min | NHibernate.Type.ComponentType |
PersistentClass | 287 | 1 936 | 145 methods | 41 fields | 1h 26min | 7min | NHibernate.Mapping.PersistentClass |
StatelessSessionImpl | 276 | 2 109 | 86 methods | 4 fields | 1h 22min | 6min | NHibernate.Impl.StatelessSessionImpl |
StatisticsImpl | 272 | 2 448 | 71 methods | 50 fields | 1h 21min | 6min | NHibernate.Stat.StatisticsImpl |
TypeFactory | 267 | 2 579 | 47 methods | 8 fields | 1h 20min | 6min | NHibernate.Type.TypeFactory |
AbstractDetachedQuery | 264 | 1 569 | 65 methods | 17 fields | 1h 19min | 6min | NHibernate.Impl.AbstractDetachedQuery |
JoinedSubclassEntityPersister | 258 | 1 682 | 41 methods | 24 fields | 1h 17min | 5min | NHibernate.Persister.Entity .JoinedSubclassEntityPersister |
ReflectHelper | 257 | 1 673 | 35 methods | 4 fields | 15min | 1min 8s | NHibernate.Util.ReflectHelper |
TypeExtensions | 257 | 3 177 | 34 methods | 2 fields | 15min | 1min 8s | NHibernate.Mapping.ByCode.TypeExtensions |
EntityMetamodel | 252 | 1 797 | 64 methods | 52 fields | 1h 15min | 5min | NHibernate.Tuple.Entity.EntityMetamodel |
ClassBinder | 243 | 1 717 | 26 methods | 1 field | 1h 12min | 4min 49s | NHibernate.Cfg.XmlHbmBinding.ClassBinder |
CriteriaImpl | 239 | 1 456 | 65 methods | 26 fields | 1h 11min | 4min 33s | NHibernate.Impl.CriteriaImpl |
StringHelper | 230 | 1 699 | 54 methods | 11 fields | 13min | 0min 47s | NHibernate.Util.StringHelper |
EventListeners | 230 | 1 487 | 73 methods | 36 fields | 1h 9min | 3min 58s | NHibernate.Event.EventListeners |
AbstractExplicitlyDeclaredModel | 226 | 1 688 | 71 methods | 31 fields | 1h 7min | 3min 42s | NHibernate.Mapping.ByCode .AbstractExplicitlyDeclaredModel |
MultiCriteriaImpl | 224 | 1 482 | 30 methods | 17 fields | 1h 7min | 3min 34s | NHibernate.Impl.MultiCriteriaImpl |
DotNode | 214 | 1 581 | 33 methods | 18 fields | 1h 4min | 2min 55s | NHibernate.Hql.Ast.ANTLR.Tree.DotNode |
Mappings | 213 | 1 581 | 61 methods | 30 fields | 1h 3min | 2min 51s | NHibernate.Cfg.Mappings |
DefaultMergeEventListener | 205 | 1 475 | 21 methods | 1 field | 1h 1min | 2min 19s | NHibernate.Event.Default .DefaultMergeEventListener |
FromElement | 203 | 1 518 | 81 methods | 25 fields | 1h 0min | 2min 11s | NHibernate.Hql.Ast.ANTLR.Tree .FromElement |
![]() | Rule Violated: Avoid types with too many methods |
• How to Fix Issues: To refactor properly a God Class please read HowToFix advices from the default rule Types to Big. // The estimated Debt, which means the effort to fix such issue, varies linearly from 1 hour for a type with 20 methods, up to 10 hours for a type with 200 or more methods. In Debt and Interest computation, this rule takes account of the fact that static types with no mutable fields are just a collection of static methods that can be easily splitted and moved from one type to another.
129 types matched
- The following list of types is truncated and contains only the first 100 types of the 129 types matched.
-
Formatting: bold means added, underlined means code was changed,
strike-boldmeans removed (since baseline)
129 types | nbMethods | instanceMethods | staticMethods | # lines of code (LOC) | Debt | Annual Interest | Full Name |
---|---|---|---|---|---|---|---|
PersistentIdentifierBag<T>![]() | 46 | 46 methods | no method | 187 | 2h 18min | 19min | NHibernate.Collection.Generic .PersistentIdentifierBag<T> |
PersistentGenericList<T>![]() | 45 | 45 methods | no method | 173 | 2h 15min | 18min | NHibernate.Collection.Generic .PersistentGenericList<T> |
PersistentGenericBag<T>![]() | 44 | 43 methods | 1 method | 185 | 2h 12min | 17min | NHibernate.Collection.Generic .PersistentGenericBag<T> |
PersistentGenericSet<T>![]() | 40 | 40 methods | no method | 182 | 2h 0min | 15min | NHibernate.Collection.Generic .PersistentGenericSet<T> |
FirebirdDialect![]() | 24 | 22 methods | 2 methods | 150 | 1h 12min | 4min 37s | NHibernate.Dialect.FirebirdDialect |
SubclassCustomizer<TEntity>![]() | 21 | 21 methods | no method | 50 | 1h 3min | 2min 39s | NHibernate.Mapping.ByCode.Impl .CustomizersImpl.SubclassCustomizer <TEntity> |
UnionSubclassCustomizer<TEntity>![]() | 21 | 21 methods | no method | 45 | 1h 3min | 2min 39s | NHibernate.Mapping.ByCode.Impl .CustomizersImpl.UnionSubclassCustomizer <TEntity> |
AbstractEntityPersister | 197 | 197 methods | no method | 1 491 | 1d 1h | 1h 58min | NHibernate.Persister.Entity .AbstractEntityPersister |
SessionImpl | 142 | 142 methods | no method | 891 | 7h 6min | 1h 21min | NHibernate.Impl.SessionImpl |
SimpleModelInspector | 128 | 128 methods | no method | 335 | 6h 24min | 1h 12min | NHibernate.Mapping.ByCode .SimpleModelInspector |
QueryOver<TRoot,TSubType> | 126 | 126 methods | no method | 168 | 6h 18min | 1h 11min | NHibernate.Criterion.QueryOver<TRoot ,TSubType> |
AbstractQueryImpl | 102 | 101 methods | 1 method | 345 | 5h 6min | 55min | NHibernate.Impl.AbstractQueryImpl |
Configuration | 93 | 88 methods | 5 methods | 994 | 4h 39min | 49min | NHibernate.Cfg.Configuration |
HqlTreeBuilder | 85 | 85 methods | no method | 97 | 4h 15min | 44min | NHibernate.Hql.Ast.HqlTreeBuilder |
ModelMapper | 85 | 85 methods | no method | 592 | 4h 15min | 44min | NHibernate.Mapping.ByCode.ModelMapper |
AbstractCollectionPersister | 84 | 82 methods | 2 methods | 716 | 4h 12min | 43min | NHibernate.Persister.Collection .AbstractCollectionPersister |
ISession | 79 | 79 methods | no method | N/A | 3h 57min | 40min | NHibernate.ISession |
StatefulPersistenceContext | 77 | 77 methods | no method | 501 | 3h 51min | 39min | NHibernate.Engine .StatefulPersistenceContext |
IQuery | 75 | 75 methods | no method | N/A | 3h 45min | 38min | NHibernate.IQuery |
Restrictions | 72 | no method | 72 methods | 105 | 3h 36min | 36min | NHibernate.Criterion.Restrictions |
Loader | 72 | 60 methods | 12 methods | 574 | 3h 36min | 36min | NHibernate.Loader.Loader |
Dialect | 67 | 63 methods | 4 methods | 331 | 3h 21min | 32min | NHibernate.Dialect.Dialect |
AbstractDetachedQuery | 65 | 65 methods | no method | 264 | 3h 15min | 31min | NHibernate.Impl.AbstractDetachedQuery |
AbstractSessionImpl | 63 | 63 methods | no method | 135 | 3h 9min | 30min | NHibernate.Impl.AbstractSessionImpl |
IPersistenceContext | 62 | 62 methods | no method | N/A | 3h 6min | 29min | NHibernate.Engine.IPersistenceContext |
PropertyContainerCustomizer<TEntity> | 62 | 60 methods | 2 methods | 193 | 3h 6min | 29min | NHibernate.Mapping.ByCode.Impl .CustomizersImpl .PropertyContainerCustomizer<TEntity> |
StatelessSessionImpl | 61 | 61 methods | no method | 276 | 3h 3min | 28min | NHibernate.Impl.StatelessSessionImpl |
MultiQueryImpl | 61 | 61 methods | no method | 401 | 3h 3min | 28min | NHibernate.Impl.MultiQueryImpl |
IQueryOver<TRoot,TSubType> | 57 | 57 methods | no method | N/A | 2h 51min | 26min | NHibernate.IQueryOver<TRoot,TSubType> |
IDetachedQuery | 57 | 57 methods | no method | N/A | 2h 51min | 26min | NHibernate.IDetachedQuery |
StringHelper | 54 | no method | 54 methods | 230 | 32min | 4min 51s | NHibernate.Util.StringHelper |
CustomizersHolder | 54 | 54 methods | no method | 125 | 2h 42min | 24min | NHibernate.Mapping.ByCode.Impl .CustomizersHolder |
Property | 52 | 51 methods | 1 method | 53 | 2h 36min | 22min | NHibernate.Criterion.Property |
SessionFactoryImpl | 51 | 50 methods | 1 method | 417 | 2h 33min | 22min | NHibernate.Impl.SessionFactoryImpl |
Subqueries | 50 | no method | 50 methods | 58 | 2h 30min | 21min | NHibernate.Criterion.Subqueries |
ICustomizersHolder | 50 | 50 methods | no method | N/A | 2h 30min | 21min | NHibernate.Mapping.ByCode.Impl .ICustomizersHolder |
CollectionType | 49 | 49 methods | no method | 156 | 2h 27min | 21min | NHibernate.Type.CollectionType |
ISessionImplementor | 49 | 49 methods | no method | N/A | 2h 27min | 21min | NHibernate.Engine.ISessionImplementor |
AbstractPersistentCollection | 48 | 48 methods | no method | 198 | 2h 24min | 20min | NHibernate.Collection .AbstractPersistentCollection |
ProjectionsExtensions | 48 | no method | 48 methods | 75 | 2h 24min | 20min | NHibernate.Criterion .ProjectionsExtensions |
Projections | 48 | no method | 48 methods | 55 | 2h 24min | 20min | NHibernate.Criterion.Projections |
IMultiQuery | 47 | 47 methods | no method | N/A | 2h 21min | 19min | NHibernate.IMultiQuery |
CriteriaImpl | 47 | 47 methods | no method | 239 | 2h 21min | 19min | NHibernate.Impl.CriteriaImpl |
TypeFactory | 46 | no method | 46 methods | 267 | 2h 18min | 19min | NHibernate.Type.TypeFactory |
ExpressionProcessor | 45 | no method | 45 methods | 346 | 2h 15min | 18min | NHibernate.Impl.ExpressionProcessor |
CriteriaQueryTranslator | 45 | 44 methods | 1 method | 351 | 2h 15min | 18min | NHibernate.Loader.Criteria .CriteriaQueryTranslator |
AbstractExplicitlyDeclaredModel | 45 | 45 methods | no method | 226 | 2h 15min | 18min | NHibernate.Mapping.ByCode .AbstractExplicitlyDeclaredModel |
CollectionBinder | 44 | 40 methods | 4 methods | 434 | 2h 12min | 17min | NHibernate.Cfg.XmlHbmBinding .CollectionBinder |
ClassCustomizer<TEntity> | 44 | 44 methods | no method | 109 | 2h 12min | 17min | NHibernate.Mapping.ByCode.Impl .CustomizersImpl.ClassCustomizer<TEntity > |
CustomPersister | 44 | 43 methods | 1 method | 129 | 2h 12min | 17min | NHibernate.DomainModel.CustomPersister |
SqlString | 43 | 40 methods | 3 methods | 340 | 2h 9min | 17min | NHibernate.SqlCommand.SqlString |
IEntityPersister | 42 | 42 methods | no method | N/A | 2h 6min | 16min | NHibernate.Persister.Entity .IEntityPersister |
QueryOver<TRoot> | 41 | 41 methods | no method | 50 | 2h 3min | 15min | NHibernate.Criterion.QueryOver<TRoot> |
ComponentType | 39 | 39 methods | no method | 312 | 1h 57min | 14min | NHibernate.Type.ComponentType |
PossibleValueSet | 39 | 35 methods | 4 methods | 143 | 1h 57min | 14min | NHibernate.Linq.Visitors .PossibleValueSet |
CriteriaImpl+Subcriteria | 38 | 38 methods | no method | 85 | 1h 54min | 13min | NHibernate.Impl.CriteriaImpl+Subcriteria |
ASTNode | 37 | 37 methods | no method | 176 | 1h 51min | 13min | NHibernate.Hql.Ast.ANTLR.Tree.ASTNode |
ConventionModelMapper | 37 | 37 methods | no method | 117 | 1h 51min | 13min | NHibernate.Mapping.ByCode .ConventionModelMapper |
ICriteria | 36 | 36 methods | no method | N/A | 1h 48min | 12min | NHibernate.ICriteria |
JoinWalker | 36 | 32 methods | 4 methods | 337 | 1h 48min | 12min | NHibernate.Loader.JoinWalker |
ClassMapper | 36 | 36 methods | no method | 141 | 1h 48min | 12min | NHibernate.Mapping.ByCode.Impl .ClassMapper |
AnyType | 35 | 34 methods | 1 method | 88 | 1h 45min | 11min | NHibernate.Type.AnyType |
ReflectHelper | 35 | no method | 35 methods | 257 | 21min | 2min 22s | NHibernate.Util.ReflectHelper |
PersistentGenericMap<TKey,TValue> | 35 | 35 methods | no method | 176 | 1h 45min | 11min | NHibernate.Collection.Generic .PersistentGenericMap<TKey,TValue> |
SingleTableEntityPersister | 35 | 34 methods | 1 method | 371 | 1h 45min | 11min | NHibernate.Persister.Entity .SingleTableEntityPersister |
Mappings | 34 | 32 methods | 2 methods | 213 | 1h 42min | 11min | NHibernate.Cfg.Mappings |
DetachedCriteria | 34 | 28 methods | 6 methods | 77 | 1h 42min | 11min | NHibernate.Criterion.DetachedCriteria |
Table | 34 | 33 methods | 1 method | 320 | 1h 42min | 11min | NHibernate.Mapping.Table |
TypeExtensions | 34 | no method | 34 methods | 257 | 20min | 2min 14s | NHibernate.Mapping.ByCode.TypeExtensions |
StatisticsImpl | 33 | 32 methods | 1 method | 272 | 1h 39min | 10min | NHibernate.Stat.StatisticsImpl |
ResultSetWrapper | 33 | 33 methods | no method | 49 | 1h 39min | 10min | NHibernate.AdoNet.ResultSetWrapper |
IPersistentCollection | 33 | 33 methods | no method | N/A | 1h 39min | 10min | NHibernate.Collection .IPersistentCollection |
PersistentClass | 33 | 33 methods | no method | 287 | 1h 39min | 10min | NHibernate.Mapping.PersistentClass |
NDataReader | 32 | 32 methods | no method | 82 | 1h 36min | 9min | NHibernate.Driver.NDataReader |
NHybridDataReader | 32 | 32 methods | no method | 56 | 1h 36min | 9min | NHibernate.Driver.NHybridDataReader |
AbstractType | 32 | 31 methods | 1 method | 40 | 1h 36min | 9min | NHibernate.Type.AbstractType |
EntityType | 32 | 31 methods | 1 method | 160 | 1h 36min | 9min | NHibernate.Type.EntityType |
BatcherDataReaderWrapper | 31 | 31 methods | no method | 43 | 1h 33min | 9min | NHibernate.Driver .BatcherDataReaderWrapper |
IStatelessSession | 30 | 30 methods | no method | N/A | 1h 30min | 8min | NHibernate.IStatelessSession |
ActionQueue | 30 | 29 methods | 1 method | 102 | 1h 30min | 8min | NHibernate.Engine.ActionQueue |
AbstractBatcher | 30 | 28 methods | 2 methods | 184 | 1h 30min | 8min | NHibernate.AdoNet.AbstractBatcher |
QueryOverBuilderExtensions | 30 | no method | 30 methods | 30 | 1h 30min | 8min | NHibernate.Criterion .QueryOverBuilderExtensions |
IdBagMapper | 30 | 30 methods | no method | 93 | 1h 30min | 8min | NHibernate.Mapping.ByCode.Impl .IdBagMapper |
ListMapper | 30 | 30 methods | no method | 93 | 1h 30min | 8min | NHibernate.Mapping.ByCode.Impl .ListMapper |
MultiCriteriaImpl | 29 | 29 methods | no method | 224 | 1h 27min | 7min | NHibernate.Impl.MultiCriteriaImpl |
DynamicFilterParameterSpecification+Coll ectionOfValuesType | 29 | 29 methods | no method | 54 | 1h 27min | 7min | NHibernate.Param .DynamicFilterParameterSpecification+Col lectionOfValuesType |
FromElement | 29 | 29 methods | no method | 203 | 1h 27min | 7min | NHibernate.Hql.Ast.ANTLR.Tree .FromElement |
IModelExplicitDeclarationsHolder | 29 | 29 methods | no method | N/A | 1h 27min | 7min | NHibernate.Mapping.ByCode .IModelExplicitDeclarationsHolder |
IModelInspector | 29 | 29 methods | no method | N/A | 1h 27min | 7min | NHibernate.Mapping.ByCode .IModelInspector |
FakeModelExplicitDeclarationsHolder | 29 | 29 methods | no method | 57 | 1h 27min | 7min | NHibernate.Mapping.ByCode .FakeModelExplicitDeclarationsHolder |
BagMapper | 29 | 29 methods | no method | 89 | 1h 27min | 7min | NHibernate.Mapping.ByCode.Impl.BagMapper |
ExplicitDeclarationsHolder | 29 | 29 methods | no method | 84 | 1h 27min | 7min | NHibernate.Mapping.ByCode.Impl .ExplicitDeclarationsHolder |
MapMapper | 29 | 29 methods | no method | 97 | 1h 27min | 7min | NHibernate.Mapping.ByCode.Impl.MapMapper |
SetMapper | 29 | 29 methods | no method | 91 | 1h 27min | 7min | NHibernate.Mapping.ByCode.Impl.SetMapper |
CollectionPropertiesCustomizer<TEntity ,TElement> | 29 | 29 methods | no method | 62 | 1h 27min | 7min | NHibernate.Mapping.ByCode.Impl .CustomizersImpl .CollectionPropertiesCustomizer<TEntity ,TElement> |
FromClause | 28 | 24 methods | 4 methods | 102 | 1h 24min | 7min | NHibernate.Hql.Ast.ANTLR.Tree.FromClause |
SimpleModelInspector+MixinDeclaredModel | 28 | 28 methods | no method | 34 | 1h 24min | 7min | NHibernate.Mapping.ByCode .SimpleModelInspector+MixinDeclaredModel |
ExplicitlyDeclaredModel | 28 | 28 methods | no method | 32 | 1h 24min | 7min | NHibernate.Mapping.ByCode .ExplicitlyDeclaredModel |
CustomType | 27 | 27 methods | no method | 64 | 1h 21min | 6min | NHibernate.Type.CustomType |
DotNode | 27 | 24 methods | 3 methods | 214 | 1h 21min | 6min | NHibernate.Hql.Ast.ANTLR.Tree.DotNode |
![]() | Rule Violated: Avoid types with too many fields |
• How to Fix Issues: To refactor such type and increase code quality and maintainability, certainly you'll have to group subsets of fields into smaller types and dispatch the logic implemented into the methods into these smaller types. More refactoring advices can be found in the default rule Types to Big, HowToFix section. The estimated Debt, which means the effort to fix such issue, varies linearly from 1 hour for a type with 15 fields, to up to 10 hours for a type with 200 or more fields.
36 types matched
-
Formatting: bold means added, underlined means code was changed,
strike-boldmeans removed (since baseline)
36 types | instanceFields | staticFields | methodsAssigningFields | Size of instance | Debt | Annual Interest | Full Name |
---|---|---|---|---|---|---|---|
QueryLoader![]() | 20 fields | no field | 18 methods | 102 | 1h 14min | 5min | NHibernate.Loader.Hql.QueryLoader |
AbstractCollectionPersister | 88 fields | no field | 2 methods | 292 | 4h 33min | 48min | NHibernate.Persister.Collection .AbstractCollectionPersister |
AbstractEntityPersister | 85 fields | no field | 44 methods | 331 | 4h 24min | 46min | NHibernate.Persister.Entity .AbstractEntityPersister |
EntityMetamodel | 49 fields | no field | 1 method | 140 | 2h 39min | 23min | NHibernate.Tuple.Entity.EntityMetamodel |
Collection | 47 fields | no field | 45 methods | 150 | 2h 33min | 22min | NHibernate.Mapping.Collection |
ModelMapper | 43 fields | no field | no method | 172 | 2h 21min | 19min | NHibernate.Mapping.ByCode.ModelMapper |
PersistentClass | 38 fields | no field | 32 methods | 130 | 2h 7min | 16min | NHibernate.Mapping.PersistentClass |
SingleTableEntityPersister | 37 fields | no field | no method | 470 | 2h 4min | 16min | NHibernate.Persister.Entity .SingleTableEntityPersister |
StatisticsImpl | 36 fields | no field | 58 methods | 261 | 2h 1min | 15min | NHibernate.Stat.StatisticsImpl |
EventListeners | 35 fields | no field | 34 methods | 140 | 1h 58min | 14min | NHibernate.Event.EventListeners |
Baz | 35 fields | no field | 35 methods | 140 | 1h 58min | 14min | NHibernate.DomainModel.Baz |
SessionFactoryImpl | 31 fields | no field | 4 methods | 118 | 1h 46min | 12min | NHibernate.Impl.SessionFactoryImpl |
AbstractExplicitlyDeclaredModel | 31 fields | no field | no method | 124 | 1h 46min | 12min | NHibernate.Mapping.ByCode .AbstractExplicitlyDeclaredModel |
SimpleModelInspector | 27 fields | no field | 26 methods | 108 | 1h 35min | 9min | NHibernate.Mapping.ByCode .SimpleModelInspector |
FakeModelExplicitDeclarationsHolder | 27 fields | no field | no method | 108 | 1h 35min | 9min | NHibernate.Mapping.ByCode .FakeModelExplicitDeclarationsHolder |
ExplicitDeclarationsHolder | 27 fields | no field | no method | 108 | 1h 35min | 9min | NHibernate.Mapping.ByCode.Impl .ExplicitDeclarationsHolder |
Foo | 26 fields | 1 field | 45 methods | 101 | 1h 35min | 9min | NHibernate.DomainModel.Foo |
CriteriaImpl | 26 fields | no field | 24 methods | 106 | 1h 32min | 9min | NHibernate.Impl.CriteriaImpl |
Mappings | 26 fields | no field | 8 methods | 110 | 1h 32min | 9min | NHibernate.Cfg.Mappings |
Configuration | 25 fields | no field | 28 methods | 125 | 1h 29min | 8min | NHibernate.Cfg.Configuration |
CustomizersHolder | 25 fields | no field | no method | 100 | 1h 29min | 8min | NHibernate.Mapping.ByCode.Impl .CustomizersHolder |
FromElement | 24 fields | no field | 28 methods | 102 | 1h 26min | 7min | NHibernate.Hql.Ast.ANTLR.Tree .FromElement |
JoinedSubclassEntityPersister | 24 fields | no field | no method | 427 | 1h 26min | 7min | NHibernate.Persister.Entity .JoinedSubclassEntityPersister |
AbstractQueryImpl | 22 fields | no field | 15 methods | 85 | 1h 20min | 6min | NHibernate.Impl.AbstractQueryImpl |
SessionImpl | 21 fields | no field | 14 methods | 105 | 1h 17min | 5min | NHibernate.Impl.SessionImpl |
StatefulPersistenceContext | 21 fields | no field | 18 methods | 75 | 1h 17min | 5min | NHibernate.Engine .StatefulPersistenceContext |
BasicClass | 21 fields | no field | 21 methods | 86 | 1h 17min | 5min | NHibernate.DomainModel.NHSpecific .BasicClass |
MultiQueryImpl | 18 fields | no field | 10 methods | 66 | 1h 8min | 3min 54s | NHibernate.Impl.MultiQueryImpl |
CriteriaQueryTranslator | 18 fields | no field | 1 method | 72 | 1h 8min | 3min 54s | NHibernate.Loader.Criteria .CriteriaQueryTranslator |
Table | 17 fields | 1 field | 14 methods | 64 | 1h 8min | 3min 54s | NHibernate.Mapping.Table |
AbstractDetachedQuery | 17 fields | no field | 21 methods | 60 | 1h 5min | 3min 16s | NHibernate.Impl.AbstractDetachedQuery |
BasicFormatter+FormatProcess | 17 fields | no field | 46 methods | 47 | 1h 5min | 3min 16s | NHibernate.AdoNet.Util .BasicFormatter+FormatProcess |
RootClass | 17 fields | no field | 18 methods | 177 | 1h 5min | 3min 16s | NHibernate.Mapping.RootClass |
Join | 17 fields | no field | 16 methods | 55 | 1h 5min | 3min 16s | NHibernate.Mapping.Join |
MultiCriteriaImpl | 16 fields | no field | 5 methods | 58 | 1h 2min | 2min 38s | NHibernate.Impl.MultiCriteriaImpl |
JoinWalker | 16 fields | no field | 18 methods | 64 | 1h 2min | 2min 38s | NHibernate.Loader.JoinWalker |
![]() | Critical Rule Violated: Avoid methods too big, too complex |
• How to Fix Issues: A large and complex method should be split in smaller methods, or even one or several classes can be created for that. During this process it is important to question the scope of each variable local to the method. This can be an indication if such local variable will become an instance field of the newly created class(es). Large switch…case structures might be refactored through the help of a set of types that implement a common interface, the interface polymorphism playing the role of the switch cases tests. Unit Tests can help: write tests for each method before extracting it to ensure you don't break functionality. The estimated Debt, which means the effort to fix such issue, varies from 40 minutes to 8 hours, linearly from a weighted complexity score.
56 methods matched
-
Formatting: bold means added, underlined means code was changed,
strike-boldmeans removed (since baseline)
56 methods | # lines of code (LOC) | Cyclomatic Complexity (CC) | IL Cyclomatic Complexity (ILCC) | IL Nesting Depth | complexityScore | Debt | Annual Interest | Full Name |
---|---|---|---|---|---|---|---|---|
Initialize(SelectClause)![]() | 52 | 13 | 18 | 4 | 57 | 1h 12min | 8min | NHibernate.Loader.Hql.QueryLoader .Initialize(SelectClause) |
.ctor(PersistentClass ,ICacheConcurrencyStrategy ,ISessionFactoryImplementor,IMapping) | 226 | 46 | 88 | 5 | 203 | 4h 5min | 40min | NHibernate.Persister.Entity .SingleTableEntityPersister..ctor (PersistentClass ,ICacheConcurrencyStrategy ,ISessionFactoryImplementor,IMapping) |
.ctor(Collection ,ICacheConcurrencyStrategy,Configuration ,ISessionFactoryImplementor) | 243 | 42 | 88 | 3 | 201 | 4h 3min | 40min | NHibernate.Persister.Collection .AbstractCollectionPersister..ctor (Collection,ICacheConcurrencyStrategy ,Configuration ,ISessionFactoryImplementor) |
.ctor(PersistentClass ,ISessionFactoryImplementor) | 138 | 48 | 75 | 4 | 154 | 3h 7min | 29min | NHibernate.Tuple.Entity.EntityMetamodel. .ctor(PersistentClass ,ISessionFactoryImplementor) |
.ctor(PersistentClass ,ICacheConcurrencyStrategy ,ISessionFactoryImplementor) | 189 | 21 | 54 | 3 | 142 | 2h 53min | 27min | NHibernate.Persister.Entity .AbstractEntityPersister..ctor (PersistentClass ,ICacheConcurrencyStrategy ,ISessionFactoryImplementor) |
Create(IToken) | 77 | 65 | 43 | 8 | 141 | 2h 52min | 26min | NHibernate.Hql.Ast.ANTLR.Tree .HqlSqlWalkerTreeAdaptor.Create(IToken) |
.ctor(PersistentClass ,ICacheConcurrencyStrategy ,ISessionFactoryImplementor,IMapping) | 162 | 26 | 59 | 3 | 135 | 2h 44min | 25min | NHibernate.Persister.Entity .JoinedSubclassEntityPersister..ctor (PersistentClass ,ICacheConcurrencyStrategy ,ISessionFactoryImplementor,IMapping) |
.ctor(Configuration,IMapping,Settings ,EventListeners) | 136 | 34 | 55 | 4 | 132 | 2h 41min | 24min | NHibernate.Impl.SessionFactoryImpl..ctor (Configuration,IMapping,Settings ,EventListeners) |
System.Collections.Generic.IEnumerable <NHibernate.SqlCommand.SqlString> .GetEnumerator() | 86 | 31 | 67 | 6 | 114 | 2h 19min | 20min | NHibernate.Dialect .Dialect+QuotedAndParenthesisStringToken izer.System.Collections.Generic .IEnumerable<NHibernate.SqlCommand .SqlString>.GetEnumerator() |
.ctor() | 56 | 41 | 81 | 3 | 105 | 2h 9min | 18min | NHibernate.Mapping.ByCode .SimpleModelInspector..ctor() |
GetEnumerator() | 59 | 27 | 61 | 9 | 103 | 2h 6min | 18min | NHibernate.SqlCommand.Parser .SqlTokenizer.GetEnumerator() |
EqualsFoo(Foo) | 11 | 33 | 24 | 18 | 100 | 2h 3min | 17min | NHibernate.DomainModel.Foo.EqualsFoo(Foo ) |
RenderWhereStringTemplate(String,String ,Dialect,SQLFunctionRegistry) | 63 | 32 | 42 | 4 | 89 | 1h 50min | 15min | NHibernate.SqlCommand.Template .RenderWhereStringTemplate(String,String ,Dialect,SQLFunctionRegistry) |
GenerateSchemaUpdateScript(Dialect ,DatabaseMetadata) | 49 | 25 | 50 | 8 | 89 | 1h 50min | 15min | NHibernate.Cfg.Configuration .GenerateSchemaUpdateScript(Dialect ,DatabaseMetadata) |
BindPropertyResults(String ,HbmReturnDiscriminator ,HbmReturnProperty[],PersistentClass) | 77 | 24 | 40 | 4 | 87 | 1h 47min | 14min | NHibernate.Cfg.XmlHbmBinding .ResultSetMappingBinder .BindPropertyResults(String ,HbmReturnDiscriminator ,HbmReturnProperty[],PersistentClass) |
Bind(IEnumerable<IEntityPropertyMapping> ,Table,IDictionary<String,MetaAttribute> ,Action<Property>,Action<Property>) | 79 | 26 | 37 | 3 | 86 | 1h 46min | 14min | NHibernate.Cfg.XmlHbmBinding .PropertiesBinder.Bind(IEnumerable <IEntityPropertyMapping>,Table ,IDictionary<String,MetaAttribute> ,Action<Property>,Action<Property>) |
SqlCreateString(Dialect,IMapping,String ,String) | 62 | 28 | 52 | 3 | 85 | 1h 45min | 14min | NHibernate.Mapping.Table.SqlCreateString (Dialect,IMapping,String,String) |
ParseColumnDefinitions(IEnumerator <SqlToken>) | 41 | 23 | 51 | 7 | 81 | 1h 40min | 13min | NHibernate.SqlCommand.Parser .MsSqlSelectParser .ParseColumnDefinitions(IEnumerator <SqlToken>) |
.ctor(PersistentClass ,ICacheConcurrencyStrategy ,ISessionFactoryImplementor,IMapping) | 75 | 20 | 36 | 4 | 81 | 1h 40min | 13min | NHibernate.Persister.Entity .UnionSubclassEntityPersister..ctor (PersistentClass ,ICacheConcurrencyStrategy ,ISessionFactoryImplementor,IMapping) |
MapRootClass(Type,HbmMapping) | 60 | 26 | 45 | 3 | 80 | 1h 39min | 13min | NHibernate.Mapping.ByCode.ModelMapper .MapRootClass(Type,HbmMapping) |
DoUpdateRows(Object ,IPersistentCollection ,ISessionImplementor) | 62 | 22 | 37 | 5 | 80 | 1h 39min | 13min | NHibernate.Persister.Collection .OneToManyPersister.DoUpdateRows(Object ,IPersistentCollection ,ISessionImplementor) |
Parse(String,ParameterParser+IRecognizer ) | 57 | 28 | 35 | 4 | 79 | 1h 38min | 12min | NHibernate.Engine.Query.ParameterParser .Parse(String ,ParameterParser+IRecognizer) |
.ctor(ICustomQuery ,ISessionFactoryImplementor) | 112 | 9 | 13 | 3 | 78 | 1h 37min | 12min | NHibernate.Loader.Custom.CustomLoader. .ctor(ICustomQuery ,ISessionFactoryImplementor) |
InitializeExplicitSelectClause (FromClause) | 57 | 20 | 30 | 6 | 76 | 1h 34min | 12min | NHibernate.Hql.Ast.ANTLR.Tree .SelectClause .InitializeExplicitSelectClause (FromClause) |
ListenerTypeConvertFrom(String) | 36 | 36 | 38 | 3 | 75 | 1h 33min | 12min | NHibernate.Cfg.ConfigurationSchema .CfgXmlHelper.ListenerTypeConvertFrom (String) |
DoList() | 67 | 22 | 33 | 3 | 75 | 1h 33min | 12min | NHibernate.Impl.MultiQueryImpl.DoList() |
GenerateSchemaCreationScript(Dialect) | 49 | 18 | 42 | 5 | 71 | 1h 28min | 11min | NHibernate.Cfg.Configuration .GenerateSchemaCreationScript(Dialect) |
GenerateDropSchemaScript(Dialect) | 45 | 20 | 39 | 5 | 70 | 1h 27min | 10min | NHibernate.Cfg.Configuration .GenerateDropSchemaScript(Dialect) |
GenerateCustomReturns(Boolean) | 55 | 19 | 29 | 5 | 70 | 1h 27min | 10min | NHibernate.Loader.Custom.Sql .SQLQueryReturnProcessor .GenerateCustomReturns(Boolean) |
VisitMethodCallExpression (MethodCallExpression) | 21 | 21 | 36 | 8 | 67 | 1h 24min | 10min | NHibernate.Linq.ReWriters .MergeAggregatingResultsInExpressionRewr iter.VisitMethodCallExpression (MethodCallExpression) |
Update(Object,Object[],Object[],Object ,Boolean[],Int32,Object,Object ,SqlCommandInfo,ISessionImplementor) | 42 | 24 | 28 | 4 | 66 | 1h 22min | 10min | NHibernate.Persister.Entity .AbstractEntityPersister.Update(Object ,Object[],Object[],Object,Boolean[] ,Int32,Object,Object,SqlCommandInfo ,ISessionImplementor) |
GetOwnerId(String,String,Object ,IDictionary) | 38 | 17 | 27 | 7 | 66 | 1h 22min | 10min | NHibernate.Engine .StatefulPersistenceContext.GetOwnerId (String,String,Object,IDictionary) |
VisitBinaryExpression(BinaryExpression) | 26 | 23 | 31 | 6 | 64 | 1h 20min | 9min | NHibernate.Linq.Visitors .HqlGeneratorExpressionTreeVisitor .VisitBinaryExpression(BinaryExpression) |
Delete(Object,Object,Int32,Object ,SqlCommandInfo,ISessionImplementor ,Object[]) | 45 | 23 | 30 | 3 | 64 | 1h 20min | 9min | NHibernate.Persister.Entity .AbstractEntityPersister.Delete(Object ,Object,Int32,Object,SqlCommandInfo ,ISessionImplementor,Object[]) |
GenerateUpdateString(Boolean[],Int32 ,Object[],Boolean) | 36 | 21 | 31 | 5 | 64 | 1h 20min | 9min | NHibernate.Persister.Entity .AbstractEntityPersister .GenerateUpdateString(Boolean[],Int32 ,Object[],Boolean) |
ConcreteQueries(String ,ISessionFactoryImplementor) | 42 | 17 | 21 | 6 | 63 | 1h 19min | 9min | NHibernate.Hql.QuerySplitter .ConcreteQueries(String ,ISessionFactoryImplementor) |
RenderOrderByStringTemplate(String ,Dialect,SQLFunctionRegistry) | 41 | 20 | 29 | 4 | 61 | 1h 16min | 8min | NHibernate.SqlCommand.Template .RenderOrderByStringTemplate(String ,Dialect,SQLFunctionRegistry) |
GetImplementors(String) | 46 | 18 | 26 | 4 | 61 | 1h 16min | 8min | NHibernate.Impl.SessionFactoryImpl .GetImplementors(String) |
DeleteRows(IPersistentCollection,Object ,ISessionImplementor) | 39 | 18 | 26 | 5 | 60 | 1h 15min | 8min | NHibernate.Persister.Collection .AbstractCollectionPersister.DeleteRows (IPersistentCollection,Object ,ISessionImplementor) |
GetRootClassesEntries(String,String ,IEnumerable<HbmClass>) | 21 | 5 | 72 | 7 | 60 | 1h 15min | 8min | NHibernate.Cfg.ClassExtractor .GetRootClassesEntries(String,String ,IEnumerable<HbmClass>) |
ExpandDynamicFilterParameters(SqlString ,ICollection<IParameterSpecification> ,ISessionImplementor) | 50 | 11 | 24 | 5 | 59 | 1h 14min | 8min | NHibernate.Engine.Query .NativeSQLQueryPlan .ExpandDynamicFilterParameters(SqlString ,ICollection<IParameterSpecification> ,ISessionImplementor) |
ExpandDynamicFilterParameters(SqlString ,ICollection<IParameterSpecification> ,ISessionImplementor) | 50 | 11 | 24 | 5 | 59 | 1h 14min | 8min | NHibernate.Loader.Loader .ExpandDynamicFilterParameters(SqlString ,ICollection<IParameterSpecification> ,ISessionImplementor) |
BindCollectionSecondPass (ICollectionPropertiesMapping,Collection ,IDictionary<String,PersistentClass> ,IDictionary<String,MetaAttribute>) | 43 | 17 | 26 | 4 | 58 | 1h 13min | 8min | NHibernate.Cfg.XmlHbmBinding .CollectionBinder .BindCollectionSecondPass (ICollectionPropertiesMapping,Collection ,IDictionary<String,PersistentClass> ,IDictionary<String,MetaAttribute>) |
GetResultsFromDatabase(IList) | 49 | 15 | 25 | 3 | 56 | 1h 10min | 7min | NHibernate.Impl.MultiCriteriaImpl .GetResultsFromDatabase(IList) |
PerformList(QueryParameters ,ISessionImplementor,IList) | 36 | 17 | 26 | 4 | 55 | 1h 9min | 7min | NHibernate.Engine.Query.HQLQueryPlan .PerformList(QueryParameters ,ISessionImplementor,IList) |
OnMerge(MergeEvent,IDictionary) | 42 | 16 | 20 | 4 | 55 | 1h 9min | 7min | NHibernate.Event.Default .DefaultMergeEventListener.OnMerge (MergeEvent,IDictionary) |
Execute() | 40 | 17 | 22 | 3 | 53 | 1h 7min | 7min | NHibernate.Action.EntityUpdateAction .Execute() |
Hydrate(IDataReader,Object,Object ,ILoadable,String[][],Boolean ,ISessionImplementor) | 39 | 16 | 26 | 3 | 52 | 1h 6min | 6min | NHibernate.Persister.Entity .AbstractEntityPersister.Hydrate (IDataReader,Object,Object,ILoadable ,String[][],Boolean,ISessionImplementor) |
DoUpdateRows(Object ,IPersistentCollection ,ISessionImplementor) | 39 | 14 | 23 | 4 | 52 | 1h 6min | 6min | NHibernate.Persister.Collection .BasicCollectionPersister.DoUpdateRows (Object,IPersistentCollection ,ISessionImplementor) |
.ctor(IStatement) | 38 | 9 | 14 | 5 | 47 | 1h 0min | 5min | NHibernate.Hql.Ast.ANTLR.Exec .MultiTableUpdateExecutor..ctor (IStatement) |
GetLimitString(SqlString,Nullable<Int32> ,Nullable<Int32>,Parameter,Parameter) | 13 | 21 | 27 | 3 | 45 | 57min | 5min | NHibernate.Dialect.Dialect .GetLimitString(SqlString,Nullable<Int32 >,Nullable<Int32>,Parameter,Parameter) |
ValidateFilterDefs() | 36 | 10 | 24 | 3 | 45 | 57min | 5min | NHibernate.Cfg.Configuration .ValidateFilterDefs() |
ExpandParameters(IDictionary<String ,TypedValue>) | 40 | 10 | 20 | 3 | 45 | 57min | 5min | NHibernate.Impl.ExpressionQueryImpl .ExpandParameters(IDictionary<String ,TypedValue>) |
Execute(QueryParameters ,ISessionImplementor) | 40 | 10 | 17 | 3 | 44 | 56min | 5min | NHibernate.Hql.Ast.ANTLR.Exec .MultiTableUpdateExecutor.Execute (QueryParameters,ISessionImplementor) |
GetNaturalIdentifierSnapshot(Object ,ISessionImplementor) | 40 | 9 | 12 | 3 | 42 | 54min | 4min 40s | NHibernate.Persister.Entity .AbstractEntityPersister .GetNaturalIdentifierSnapshot(Object ,ISessionImplementor) |
DoWorkInCurrentTransaction (ISessionImplementor,IDbConnection ,IDbTransaction) | 38 | 6 | 14 | 4 | 41 | 53min | 4min 27s | NHibernate.Id.Enhanced.TableGenerator .DoWorkInCurrentTransaction (ISessionImplementor,IDbConnection ,IDbTransaction) |
![]() | Critical Rule Violated: Avoid methods with too many parameters |
• How to Fix Issues: More properties/fields can be added to the declaring type to handle numerous states. An alternative is to provide a class or a structure dedicated to handle arguments passing. For example see the class System.Diagnostics.ProcessStartInfo and the method System.Diagnostics.Process.Start(ProcessStartInfo). The estimated Debt, which means the effort to fix such issue, varies linearly from 1 hour for a method with 7 parameters, up to 6 hours for a methods with 40 or more parameters.
75 methods matched
-
Formatting: bold means added, underlined means code was changed,
strike-boldmeans removed (since baseline)
75 methods | # Parameters | Debt | Annual Interest | Full Name |
---|---|---|---|---|
.ctor(IDbConnection,SessionFactoryImpl ,Boolean,Int64,IInterceptor,EntityMode ,Boolean,Boolean,Boolean ,ConnectionReleaseMode,FlushMode)![]() | 11 | 1h 36min | 16min | NHibernate.Impl.SessionImpl..ctor (IDbConnection,SessionFactoryImpl ,Boolean,Int64,IInterceptor,EntityMode ,Boolean,Boolean,Boolean ,ConnectionReleaseMode,FlushMode) |
GetRowFromResultSet(IDataReader ,ISessionImplementor,QueryParameters ,LockMode[],EntityKey,IList,EntityKey[] ,Boolean,IResultTransformer)![]() | 9 | 1h 18min | 9min | NHibernate.Loader.Loader .GetRowFromResultSet(IDataReader ,ISessionImplementor,QueryParameters ,LockMode[],EntityKey,IList,EntityKey[] ,Boolean,IResultTransformer) |
.ctor(String,Type,Object,MethodInfo ,MethodInfo,IAbstractComponentType ,ISessionImplementor,Boolean)![]() | 8 | 1h 9min | 5min | NHibernate.Proxy.DefaultLazyInitializer. .ctor(String,Type,Object,MethodInfo ,MethodInfo,IAbstractComponentType ,ISessionImplementor,Boolean) |
.ctor(String,Type,Object,MethodInfo ,MethodInfo,IAbstractComponentType ,ISessionImplementor,Boolean)![]() | 8 | 1h 9min | 5min | NHibernate.Proxy.Poco .BasicLazyInitializer..ctor(String,Type ,Object,MethodInfo,MethodInfo ,IAbstractComponentType ,ISessionImplementor,Boolean) |
.ctor(String,String,Boolean,Boolean ,Boolean,Boolean,Boolean)![]() | 7 | 1h 0min | 2min 0s | NHibernate.Type.ManyToOneType..ctor (String,String,Boolean,Boolean,Boolean ,Boolean,Boolean) |
ManyToOne(String,String,Boolean,Boolean ,Boolean,Boolean,Boolean)![]() | 7 | 1h 0min | 2min 0s | NHibernate.Type.TypeFactory.ManyToOne (String,String,Boolean,Boolean,Boolean ,Boolean,Boolean) |
CascadeProperty(Object,Object,IType ,CascadeStyle,String,Object,Boolean)![]() | 7 | 1h 0min | 2min 0s | NHibernate.Engine.Cascade .CascadeProperty(Object,Object,IType ,CascadeStyle,String,Object,Boolean) |
.ctor(IDictionary<String,PersistentClass >,IDictionary<String,Collection> ,IDictionary<String,Table>,IDictionary <String,NamedQueryDefinition> ,IDictionary<String ,NamedSQLQueryDefinition>,IDictionary <String,ResultSetMappingDefinition> ,IDictionary<String,String>,IList <SecondPassCommand>,Queue <FilterSecondPassArgs>,IList <Mappings+PropertyReference> ,INamingStrategy,IDictionary<String ,TypeDef>,IDictionary<String ,FilterDefinition>,ISet <ExtendsQueueEntry>,IList <IAuxiliaryDatabaseObject>,IDictionary <String,Mappings+TableDescription> ,IDictionary<Table,Mappings+ColumnNames> ,String,String,String,String,String ,Dialect) | 23 | 3h 25min | 59min | NHibernate.Cfg.Mappings..ctor (IDictionary<String,PersistentClass> ,IDictionary<String,Collection> ,IDictionary<String,Table>,IDictionary <String,NamedQueryDefinition> ,IDictionary<String ,NamedSQLQueryDefinition>,IDictionary <String,ResultSetMappingDefinition> ,IDictionary<String,String>,IList <SecondPassCommand>,Queue <FilterSecondPassArgs>,IList <Mappings+PropertyReference> ,INamingStrategy,IDictionary<String ,TypeDef>,IDictionary<String ,FilterDefinition>,ISet <ExtendsQueueEntry>,IList <IAuxiliaryDatabaseObject>,IDictionary <String,Mappings+TableDescription> ,IDictionary<Table,Mappings+ColumnNames> ,String,String,String,String,String ,Dialect) |
.ctor(IType[],Object[],IDictionary <String,TypedValue>,IDictionary<String ,LockMode>,RowSelection,Boolean,Boolean ,Boolean,String,String,Object[],Object ,String,Object,IResultTransformer) | 15 | 2h 12min | 30min | NHibernate.Engine.QueryParameters..ctor (IType[],Object[],IDictionary<String ,TypedValue>,IDictionary<String,LockMode >,RowSelection,Boolean,Boolean,Boolean ,String,String,Object[],Object,String ,Object,IResultTransformer) |
.ctor(String,INativeSQLQueryReturn[] ,IList<String>,Boolean,String,Int32 ,Int32,FlushMode,Nullable<CacheMode> ,Boolean,String,IDictionary<String ,String>,Boolean) | 13 | 1h 54min | 23min | NHibernate.Engine .NamedSQLQueryDefinition..ctor(String ,INativeSQLQueryReturn[],IList<String> ,Boolean,String,Int32,Int32,FlushMode ,Nullable<CacheMode>,Boolean,String ,IDictionary<String,String>,Boolean) |
.ctor(String,String,IList<String> ,Boolean,String,Int32,Int32,FlushMode ,Nullable<CacheMode>,Boolean,String ,IDictionary<String,String>,Boolean) | 13 | 1h 54min | 23min | NHibernate.Engine .NamedSQLQueryDefinition..ctor(String ,String,IList<String>,Boolean,String ,Int32,Int32,FlushMode,Nullable <CacheMode>,Boolean,String,IDictionary <String,String>,Boolean) |
.ctor(String,String,IType,Boolean ,Boolean,Boolean,Boolean,Boolean,Boolean ,Boolean,Boolean,CascadeStyle,Nullable <FetchMode>) | 13 | 1h 54min | 23min | NHibernate.Tuple.StandardProperty..ctor (String,String,IType,Boolean,Boolean ,Boolean,Boolean,Boolean,Boolean,Boolean ,Boolean,CascadeStyle,Nullable<FetchMode >) |
.ctor(String,String,IType,Boolean ,Boolean,Boolean,Boolean,Boolean,Boolean ,Boolean,Boolean,CascadeStyle ,VersionValue) | 13 | 1h 54min | 23min | NHibernate.Tuple.VersionProperty..ctor (String,String,IType,Boolean,Boolean ,Boolean,Boolean,Boolean,Boolean,Boolean ,Boolean,CascadeStyle,VersionValue) |
.ctor(IType[],Object[],IDictionary <String,TypedValue>,IDictionary<String ,LockMode>,RowSelection,Boolean,Boolean ,Boolean,String,String,Object[] ,IResultTransformer) | 12 | 1h 45min | 19min | NHibernate.Engine.QueryParameters..ctor (IType[],Object[],IDictionary<String ,TypedValue>,IDictionary<String,LockMode >,RowSelection,Boolean,Boolean,Boolean ,String,String,Object[] ,IResultTransformer) |
.ctor(IType[],Object[],IDictionary <String,LockMode>,RowSelection,Boolean ,Boolean,Boolean,String,String,Boolean ,IResultTransformer) | 11 | 1h 36min | 16min | NHibernate.Engine.QueryParameters..ctor (IType[],Object[],IDictionary<String ,LockMode>,RowSelection,Boolean,Boolean ,Boolean,String,String,Boolean ,IResultTransformer) |
.ctor(Status,Object[],Object,Object ,Object,LockMode,Boolean ,IEntityPersister,EntityMode,Boolean ,Boolean) | 11 | 1h 36min | 16min | NHibernate.Engine.EntityEntry..ctor (Status,Object[],Object,Object,Object ,LockMode,Boolean,IEntityPersister ,EntityMode,Boolean,Boolean) |
AddEntry(Object,Status,Object[],Object ,Object,Object,LockMode,Boolean ,IEntityPersister,Boolean,Boolean) | 11 | 1h 36min | 16min | NHibernate.Engine.IPersistenceContext .AddEntry(Object,Status,Object[],Object ,Object,Object,LockMode,Boolean ,IEntityPersister,Boolean,Boolean) |
AddEntry(Object,Status,Object[],Object ,Object,Object,LockMode,Boolean ,IEntityPersister,Boolean,Boolean) | 11 | 1h 36min | 16min | NHibernate.Engine .StatefulPersistenceContext.AddEntry (Object,Status,Object[],Object,Object ,Object,LockMode,Boolean ,IEntityPersister,Boolean,Boolean) |
.ctor(Object,Object[],Int32[],Boolean ,Object[],Object,Object,Object ,IEntityPersister,ISessionImplementor) | 10 | 1h 27min | 12min | NHibernate.Action.EntityUpdateAction. .ctor(Object,Object[],Int32[],Boolean ,Object[],Object,Object,Object ,IEntityPersister,ISessionImplementor) |
.ctor(IDictionary<String,TypedValue> ,IDictionary<String,LockMode> ,RowSelection,Boolean,Boolean,Boolean ,String,String,Boolean ,IResultTransformer) | 10 | 1h 27min | 12min | NHibernate.Engine.QueryParameters..ctor (IDictionary<String,TypedValue> ,IDictionary<String,LockMode> ,RowSelection,Boolean,Boolean,Boolean ,String,String,Boolean ,IResultTransformer) |
AddEntity(Object,Status,Object[] ,EntityKey,Object,LockMode,Boolean ,IEntityPersister,Boolean,Boolean) | 10 | 1h 27min | 12min | NHibernate.Engine.IPersistenceContext .AddEntity(Object,Status,Object[] ,EntityKey,Object,LockMode,Boolean ,IEntityPersister,Boolean,Boolean) |
AddEntity(Object,Status,Object[] ,EntityKey,Object,LockMode,Boolean ,IEntityPersister,Boolean,Boolean) | 10 | 1h 27min | 12min | NHibernate.Engine .StatefulPersistenceContext.AddEntity (Object,Status,Object[],EntityKey,Object ,LockMode,Boolean,IEntityPersister ,Boolean,Boolean) |
.ctor(String,Boolean,String,Int32,Int32 ,FlushMode,Nullable<CacheMode>,Boolean ,String,IDictionary<String,String>) | 10 | 1h 27min | 12min | NHibernate.Engine.NamedQueryDefinition. .ctor(String,Boolean,String,Int32,Int32 ,FlushMode,Nullable<CacheMode>,Boolean ,String,IDictionary<String,String>) |
UpdateOrInsert(Object,Object[],Object[] ,Object,Boolean[],Int32,Object,Object ,SqlCommandInfo,ISessionImplementor) | 10 | 1h 27min | 12min | NHibernate.Persister.Entity .AbstractEntityPersister.UpdateOrInsert (Object,Object[],Object[],Object ,Boolean[],Int32,Object,Object ,SqlCommandInfo,ISessionImplementor) |
Update(Object,Object[],Object[],Object ,Boolean[],Int32,Object,Object ,SqlCommandInfo,ISessionImplementor) | 10 | 1h 27min | 12min | NHibernate.Persister.Entity .AbstractEntityPersister.Update(Object ,Object[],Object[],Object,Boolean[] ,Int32,Object,Object,SqlCommandInfo ,ISessionImplementor) |
InstanceNotYetLoaded(IDataReader,Int32 ,ILoadable,EntityKey,LockMode,String ,EntityKey,Object,IList ,ISessionImplementor) | 10 | 1h 27min | 12min | NHibernate.Loader.Loader .InstanceNotYetLoaded(IDataReader,Int32 ,ILoadable,EntityKey,LockMode,String ,EntityKey,Object,IList ,ISessionImplementor) |
.ctor(String,Boolean,String,Int32,Int32 ,FlushMode,Boolean,String,IDictionary <String,String>) | 9 | 1h 18min | 9min | NHibernate.Engine.NamedQueryDefinition. .ctor(String,Boolean,String,Int32,Int32 ,FlushMode,Boolean,String,IDictionary <String,String>) |
Update(Object,Object[],Int32[],Boolean ,Object[],Object,Object,Object ,ISessionImplementor) | 9 | 1h 18min | 9min | NHibernate.Persister.Entity .IEntityPersister.Update(Object,Object[] ,Int32[],Boolean,Object[],Object,Object ,Object,ISessionImplementor) |
Dehydrate(Object,Object[],Object ,Boolean[],Boolean[][],Int32,IDbCommand ,ISessionImplementor,Int32) | 9 | 1h 18min | 9min | NHibernate.Persister.Entity .AbstractEntityPersister.Dehydrate (Object,Object[],Object,Boolean[] ,Boolean[][],Int32,IDbCommand ,ISessionImplementor,Int32) |
Update(Object,Object[],Int32[],Boolean ,Object[],Object,Object,Object ,ISessionImplementor) | 9 | 1h 18min | 9min | NHibernate.Persister.Entity .AbstractEntityPersister.Update(Object ,Object[],Int32[],Boolean,Object[] ,Object,Object,Object ,ISessionImplementor) |
LoadFromResultSet(IDataReader,Int32 ,Object,String,EntityKey,String,LockMode ,ILoadable,ISessionImplementor) | 9 | 1h 18min | 9min | NHibernate.Loader.Loader .LoadFromResultSet(IDataReader,Int32 ,Object,String,EntityKey,String,LockMode ,ILoadable,ISessionImplementor) |
Update(Object,Object[],Int32[],Boolean ,Object[],Object,Object,Object ,ISessionImplementor) | 9 | 1h 18min | 9min | NHibernate.DomainModel.CustomPersister .Update(Object,Object[],Int32[],Boolean ,Object[],Object,Object,Object ,ISessionImplementor) |
.ctor(IDataReader,IDbCommand ,IEventSource,Boolean,IType[],String[][] ,RowSelection,HolderInstantiator) | 8 | 1h 9min | 5min | NHibernate.Impl.EnumerableImpl..ctor (IDataReader,IDbCommand,IEventSource ,Boolean,IType[],String[][],RowSelection ,HolderInstantiator) |
.ctor(String,String[],Type[],LockMode[] ,ISessionImplementor,ICollection<String> ,FlushMode,ParameterMetadata) | 8 | 1h 9min | 5min | NHibernate.Impl.SqlQueryImpl..ctor (String,String[],Type[],LockMode[] ,ISessionImplementor,ICollection<String> ,FlushMode,ParameterMetadata) |
.ctor(String,ForeignKeyDirection,String ,Boolean,Boolean,Boolean,String,String) | 8 | 1h 9min | 5min | NHibernate.Type.OneToOneType..ctor (String,ForeignKeyDirection,String ,Boolean,Boolean,Boolean,String,String) |
OneToOne(String,ForeignKeyDirection ,String,Boolean,Boolean,Boolean,String ,String) | 8 | 1h 9min | 5min | NHibernate.Type.TypeFactory.OneToOne (String,ForeignKeyDirection,String ,Boolean,Boolean,Boolean,String,String) |
PostHydrate(IEntityPersister,Object ,Object[],Object,Object,LockMode,Boolean ,ISessionImplementor) | 8 | 1h 9min | 5min | NHibernate.Engine.TwoPhaseLoad .PostHydrate(IEntityPersister,Object ,Object[],Object,Object,LockMode,Boolean ,ISessionImplementor) |
PerformInsert(Object ,IPersistentCollection,IExpectation ,Object,Int32,Boolean,Boolean ,ISessionImplementor) | 8 | 1h 9min | 5min | NHibernate.Persister.Collection .AbstractCollectionPersister .PerformInsert(Object ,IPersistentCollection,IExpectation ,Object,Int32,Boolean,Boolean ,ISessionImplementor) |
GetRowFromResultSet(IDataReader ,ISessionImplementor,QueryParameters ,LockMode[],EntityKey,IList,EntityKey[] ,Boolean) | 8 | 1h 9min | 5min | NHibernate.Loader.Loader .GetRowFromResultSet(IDataReader ,ISessionImplementor,QueryParameters ,LockMode[],EntityKey,IList,EntityKey[] ,Boolean) |
GetRow(IDataReader,ILoadable[] ,EntityKey[],Object,EntityKey,LockMode[] ,IList,ISessionImplementor) | 8 | 1h 9min | 5min | NHibernate.Loader.Loader.GetRow (IDataReader,ILoadable[],EntityKey[] ,Object,EntityKey,LockMode[],IList ,ISessionImplementor) |
WalkEntityAssociationTree (IAssociationType,IOuterJoinLoadable ,Int32,String,String,Boolean,Int32 ,ILhsAssociationTypeSqlInfo) | 8 | 1h 9min | 5min | NHibernate.Loader.JoinWalker .WalkEntityAssociationTree (IAssociationType,IOuterJoinLoadable ,Int32,String,String,Boolean,Int32 ,ILhsAssociationTypeSqlInfo) |
GetJoinType(IAssociationType,FetchMode ,String,String,String[],Boolean,Int32 ,CascadeStyle) | 8 | 1h 9min | 5min | NHibernate.Loader.JoinWalker.GetJoinType (IAssociationType,FetchMode,String ,String,String[],Boolean,Int32 ,CascadeStyle) |
.ctor(IAssociationType,String,String[] ,String,JoinType,SqlString ,ISessionFactoryImplementor,IDictionary <String,IFilter>) | 8 | 1h 9min | 5min | NHibernate.Loader .OuterJoinableAssociation..ctor (IAssociationType,String,String[],String ,JoinType,SqlString ,ISessionFactoryImplementor,IDictionary <String,IFilter>) |
GetJoinType(IAssociationType,FetchMode ,String,String,String[],Boolean,Int32 ,CascadeStyle) | 8 | 1h 9min | 5min | NHibernate.Loader.Criteria .CriteriaJoinWalker.GetJoinType (IAssociationType,FetchMode,String ,String,String[],Boolean,Int32 ,CascadeStyle) |
.ctor(String,IList<INativeSQLQueryReturn >,ICollection<String>,FlushMode,Boolean ,ISessionImplementor,ParameterMetadata) | 7 | 1h 0min | 2min 0s | NHibernate.Impl.SqlQueryImpl..ctor (String,IList<INativeSQLQueryReturn> ,ICollection<String>,FlushMode,Boolean ,ISessionImplementor,ParameterMetadata) |
Replace(Object[],Object[],IType[] ,ISessionImplementor,Object,IDictionary ,ForeignKeyDirection) | 7 | 1h 0min | 2min 0s | NHibernate.Type.TypeHelper.Replace (Object[],Object[],IType[] ,ISessionImplementor,Object,IDictionary ,ForeignKeyDirection) |
ReplaceAssociations(Object[],Object[] ,IType[],ISessionImplementor,Object ,IDictionary,ForeignKeyDirection) | 7 | 1h 0min | 2min 0s | NHibernate.Type.TypeHelper .ReplaceAssociations(Object[],Object[] ,IType[],ISessionImplementor,Object ,IDictionary,ForeignKeyDirection) |
Dirty(StandardProperty[],Object[] ,Object[],Boolean[][],Boolean ,ISessionImplementor,Int32) | 7 | 1h 0min | 2min 0s | NHibernate.Type.TypeHelper.Dirty (StandardProperty[],Object[],Object[] ,Boolean[][],Boolean,ISessionImplementor ,Int32) |
.ctor(String,ForeignKeyDirection,String ,Boolean,Boolean,String,String) | 7 | 1h 0min | 2min 0s | NHibernate.Type.SpecialOneToOneType. .ctor(String,ForeignKeyDirection,String ,Boolean,Boolean,String,String) |
.ctor(Object,Object[],Object,Object ,IEntityPersister,Boolean ,ISessionImplementor) | 7 | 1h 0min | 2min 0s | NHibernate.Action.EntityDeleteAction. .ctor(Object,Object[],Object,Object ,IEntityPersister,Boolean ,ISessionImplementor) |
CascadeCollectionElements(Object,Object ,CollectionType,CascadeStyle,IType ,Object,Boolean) | 7 | 1h 0min | 2min 0s | NHibernate.Engine.Cascade .CascadeCollectionElements(Object,Object ,CollectionType,CascadeStyle,IType ,Object,Boolean) |
AddUninitializedCachedEntity(EntityKey ,Object,IEntityPersister,LockMode ,Boolean,Object,ISessionImplementor) | 7 | 1h 0min | 2min 0s | NHibernate.Engine.TwoPhaseLoad .AddUninitializedCachedEntity(EntityKey ,Object,IEntityPersister,LockMode ,Boolean,Object,ISessionImplementor) |
.ctor(Object,String,String,IType,Boolean ,ISessionFactoryImplementor,EntityMode) | 7 | 1h 0min | 2min 0s | NHibernate.Engine.EntityKey..ctor(Object ,String,String,IType,Boolean ,ISessionFactoryImplementor,EntityMode) |
BindComponent(IComponentMapping ,Component,Type,String,String,Boolean ,IDictionary<String,MetaAttribute>) | 7 | 1h 0min | 2min 0s | NHibernate.Cfg.XmlHbmBinding.ClassBinder .BindComponent(IComponentMapping ,Component,Type,String,String,Boolean ,IDictionary<String,MetaAttribute>) |
PerformSave(Object,Object ,IEntityPersister,Boolean,Object ,IEventSource,Boolean) | 7 | 1h 0min | 2min 0s | NHibernate.Event.Default .AbstractSaveEventListener.PerformSave (Object,Object,IEntityPersister,Boolean ,Object,IEventSource,Boolean) |
PerformSaveOrReplicate(Object,EntityKey ,IEntityPersister,Boolean,Object ,IEventSource,Boolean) | 7 | 1h 0min | 2min 0s | NHibernate.Event.Default .AbstractSaveEventListener .PerformSaveOrReplicate(Object,EntityKey ,IEntityPersister,Boolean,Object ,IEventSource,Boolean) |
AppendComponentCondition(String,Object ,IAbstractComponentType,ICriteria ,ICriteriaQuery,IDictionary<String ,IFilter>,SqlStringBuilder) | 7 | 1h 0min | 2min 0s | NHibernate.Criterion.Example .AppendComponentCondition(String,Object ,IAbstractComponentType,ICriteria ,ICriteriaQuery,IDictionary<String ,IFilter>,SqlStringBuilder) |
GetColumnNamesForSimpleExpression(String ,IProjection,ICriteriaQuery,ICriteria ,IDictionary<String,IFilter>,ICriterion ,Object) | 7 | 1h 0min | 2min 0s | NHibernate.Criterion.CriterionUtil .GetColumnNamesForSimpleExpression (String,IProjection,ICriteriaQuery ,ICriteria,IDictionary<String,IFilter> ,ICriterion,Object) |
Hydrate(IDataReader,Object,Object ,ILoadable,String[][],Boolean ,ISessionImplementor) | 7 | 1h 0min | 2min 0s | NHibernate.Persister.Entity.ILoadable .Hydrate(IDataReader,Object,Object ,ILoadable,String[][],Boolean ,ISessionImplementor) |
Dehydrate(Object,Object[],Boolean[] ,Boolean[][],Int32,IDbCommand ,ISessionImplementor) | 7 | 1h 0min | 2min 0s | NHibernate.Persister.Entity .AbstractEntityPersister.Dehydrate (Object,Object[],Boolean[],Boolean[][] ,Int32,IDbCommand,ISessionImplementor) |
Hydrate(IDataReader,Object,Object ,ILoadable,String[][],Boolean ,ISessionImplementor) | 7 | 1h 0min | 2min 0s | NHibernate.Persister.Entity .AbstractEntityPersister.Hydrate (IDataReader,Object,Object,ILoadable ,String[][],Boolean,ISessionImplementor) |
Insert(Object,Object[],Boolean[],Int32 ,SqlCommandInfo,Object ,ISessionImplementor) | 7 | 1h 0min | 2min 0s | NHibernate.Persister.Entity .AbstractEntityPersister.Insert(Object ,Object[],Boolean[],Int32,SqlCommandInfo ,Object,ISessionImplementor) |
Delete(Object,Object,Int32,Object ,SqlCommandInfo,ISessionImplementor ,Object[]) | 7 | 1h 0min | 2min 0s | NHibernate.Persister.Entity .AbstractEntityPersister.Delete(Object ,Object,Int32,Object,SqlCommandInfo ,ISessionImplementor,Object[]) |
BuildDatabaseStructure(IType,IDictionary <String,String>,Dialect,Boolean,String ,Int32,Int32) | 7 | 1h 0min | 2min 0s | NHibernate.Id.Enhanced .SequenceStyleGenerator .BuildDatabaseStructure(IType ,IDictionary<String,String>,Dialect ,Boolean,String,Int32,Int32) |
BuildSubCollectionQuery(ISessionFactory ,ICollection<ExpressionHolder> ,Expression,Expression,Expression,Type ,Type) | 7 | 1h 0min | 2min 0s | NHibernate.Linq.NestedSelects .NestedSelectRewriter .BuildSubCollectionQuery(ISessionFactory ,ICollection<ExpressionHolder> ,Expression,Expression,Expression,Type ,Type) |
InstanceAlreadyLoaded(IDataReader,Int32 ,IEntityPersister,EntityKey,Object ,LockMode,ISessionImplementor) | 7 | 1h 0min | 2min 0s | NHibernate.Loader.Loader .InstanceAlreadyLoaded(IDataReader,Int32 ,IEntityPersister,EntityKey,Object ,LockMode,ISessionImplementor) |
LoadEntity(ISessionImplementor,Object ,IType,Object,String,Object ,IEntityPersister) | 7 | 1h 0min | 2min 0s | NHibernate.Loader.Loader.LoadEntity (ISessionImplementor,Object,IType,Object ,String,Object,IEntityPersister) |
LoadEntityBatch(ISessionImplementor ,Object[],IType,Object,String,Object ,IEntityPersister) | 7 | 1h 0min | 2min 0s | NHibernate.Loader.Loader.LoadEntityBatch (ISessionImplementor,Object[],IType ,Object,String,Object,IEntityPersister) |
TryGetLimitString(Dialect,SqlString ,Nullable<Int32>,Nullable<Int32> ,Parameter,Parameter,SqlString&) | 7 | 1h 0min | 2min 0s | NHibernate.Loader.Loader .TryGetLimitString(Dialect,SqlString ,Nullable<Int32>,Nullable<Int32> ,Parameter,Parameter,SqlString&) |
InitProjection(SqlString,SqlString ,SqlString,SqlString,SqlString ,IDictionary<String,IFilter>,LockMode) | 7 | 1h 0min | 2min 0s | NHibernate.Loader .AbstractEntityJoinWalker.InitProjection (SqlString,SqlString,SqlString,SqlString ,SqlString,IDictionary<String,IFilter> ,LockMode) |
.ctor(IOuterJoinLoadable,String[],IType ,Int32,LockMode ,ISessionFactoryImplementor,IDictionary <String,IFilter>) | 7 | 1h 0min | 2min 0s | NHibernate.Loader.Entity.EntityLoader. .ctor(IOuterJoinLoadable,String[],IType ,Int32,LockMode ,ISessionFactoryImplementor,IDictionary <String,IFilter>) |
BuildSqlCreateIndexString(Dialect,String ,Table,IEnumerable<Column>,Boolean ,String,String) | 7 | 1h 0min | 2min 0s | NHibernate.Mapping.Index .BuildSqlCreateIndexString(Dialect ,String,Table,IEnumerable<Column> ,Boolean,String,String) |
.ctor(MemberInfo,Type,Type ,ICandidatePersistentMembersProvider ,IModelInspector,ICustomizersHolder ,ModelMapper) | 7 | 1h 0min | 2min 0s | NHibernate.Mapping.ByCode .ModelMapper+ComponentRelationMapper. .ctor(MemberInfo,Type,Type ,ICandidatePersistentMembersProvider ,IModelInspector,ICustomizersHolder ,ModelMapper) |
AddJoin(String,String,String,String[] ,String[],JoinType,SqlString) | 7 | 1h 0min | 2min 0s | NHibernate.SqlCommand.QueryJoinFragment .AddJoin(String,String,String,String[] ,String[],JoinType,SqlString) |
.ctor(String,String,String,String,String ,String,String) | 7 | 1h 0min | 2min 0s | NHibernate.DomainModel.Northwind .Entities.Address..ctor(String,String ,String,String,String,String,String) |
![]() | Rule Violated: Avoid methods with too many local variables |
• How to Fix Issues: To refactor such method and increase code quality and maintainability, certainly you'll have to split the method into several smaller methods or even create one or several classes to implement the logic. During this process it is important to question the scope of each variable local to the method. This can be an indication if such local variable will become an instance field of the newly created class(es). The estimated Debt, which means the effort to fix such issue, varies linearly from 10 minutes for a method with 15 variables, up to 2 hours for a methods with 80 or more variables.
25 methods matched
-
Formatting: bold means added, underlined means code was changed,
strike-boldmeans removed (since baseline)
25 methods | # Variables | Debt | Annual Interest | Full Name |
---|---|---|---|---|
.ctor(PersistentClass ,ICacheConcurrencyStrategy ,ISessionFactoryImplementor) | 46 | 3h 23min | 58min | NHibernate.Persister.Entity .AbstractEntityPersister..ctor (PersistentClass ,ICacheConcurrencyStrategy ,ISessionFactoryImplementor) |
BuildSettings(IDictionary<String,String> ) | 39 | 2h 50min | 45min | NHibernate.Cfg.SettingsFactory .BuildSettings(IDictionary<String,String >) |
.ctor(PersistentClass ,ICacheConcurrencyStrategy ,ISessionFactoryImplementor,IMapping) | 37 | 2h 41min | 41min | NHibernate.Persister.Entity .SingleTableEntityPersister..ctor (PersistentClass ,ICacheConcurrencyStrategy ,ISessionFactoryImplementor,IMapping) |
.ctor(PersistentClass ,ICacheConcurrencyStrategy ,ISessionFactoryImplementor,IMapping) | 33 | 2h 23min | 34min | NHibernate.Persister.Entity .JoinedSubclassEntityPersister..ctor (PersistentClass ,ICacheConcurrencyStrategy ,ISessionFactoryImplementor,IMapping) |
.ctor(ICustomQuery ,ISessionFactoryImplementor) | 30 | 2h 9min | 29min | NHibernate.Loader.Custom.CustomLoader. .ctor(ICustomQuery ,ISessionFactoryImplementor) |
BindPropertyResults(String ,HbmReturnDiscriminator ,HbmReturnProperty[],PersistentClass) | 29 | 2h 4min | 27min | NHibernate.Cfg.XmlHbmBinding .ResultSetMappingBinder .BindPropertyResults(String ,HbmReturnDiscriminator ,HbmReturnProperty[],PersistentClass) |
.ctor(Collection ,ICacheConcurrencyStrategy,Configuration ,ISessionFactoryImplementor) | 28 | 2h 0min | 25min | NHibernate.Persister.Collection .AbstractCollectionPersister..ctor (Collection,ICacheConcurrencyStrategy ,Configuration ,ISessionFactoryImplementor) |
ExpandDynamicFilterParameters(SqlString ,ICollection<IParameterSpecification> ,ISessionImplementor) | 27 | 1h 55min | 23min | NHibernate.Engine.Query .NativeSQLQueryPlan .ExpandDynamicFilterParameters(SqlString ,ICollection<IParameterSpecification> ,ISessionImplementor) |
ExpandDynamicFilterParameters(SqlString ,ICollection<IParameterSpecification> ,ISessionImplementor) | 27 | 1h 55min | 23min | NHibernate.Loader.Loader .ExpandDynamicFilterParameters(SqlString ,ICollection<IParameterSpecification> ,ISessionImplementor) |
Bind(IEnumerable<IEntityPropertyMapping> ,Table,IDictionary<String,MetaAttribute> ,Action<Property>,Action<Property>) | 24 | 1h 41min | 18min | NHibernate.Cfg.XmlHbmBinding .PropertiesBinder.Bind(IEnumerable <IEntityPropertyMapping>,Table ,IDictionary<String,MetaAttribute> ,Action<Property>,Action<Property>) |
DoList() | 22 | 1h 32min | 14min | NHibernate.Impl.MultiQueryImpl.DoList() |
.ctor(Configuration,IMapping,Settings ,EventListeners) | 21 | 1h 27min | 12min | NHibernate.Impl.SessionFactoryImpl..ctor (Configuration,IMapping,Settings ,EventListeners) |
Resolve(Boolean,Boolean,String,IASTNode) | 21 | 1h 27min | 12min | NHibernate.Hql.Ast.ANTLR.Tree.IndexNode .Resolve(Boolean,Boolean,String,IASTNode ) |
GetResultsFromDatabase(IList) | 19 | 1h 18min | 9min | NHibernate.Impl.MultiCriteriaImpl .GetResultsFromDatabase(IList) |
InitializeEntity(Object,Boolean ,ISessionImplementor,PreLoadEvent ,PostLoadEvent) | 19 | 1h 18min | 9min | NHibernate.Engine.TwoPhaseLoad .InitializeEntity(Object,Boolean ,ISessionImplementor,PreLoadEvent ,PostLoadEvent) |
CreateUncachedProxyType(Type,Type[]) | 18 | 1h 13min | 7min | NHibernate.Proxy.DynamicProxy .ProxyFactory.CreateUncachedProxyType (Type,Type[]) |
ReWrite(QueryModel,ISessionFactory) | 18 | 1h 13min | 7min | NHibernate.Linq.NestedSelects .NestedSelectRewriter.ReWrite(QueryModel ,ISessionFactory) |
.ctor(PersistentClass ,ISessionFactoryImplementor) | 18 | 1h 13min | 7min | NHibernate.Tuple.Entity.EntityMetamodel. .ctor(PersistentClass ,ISessionFactoryImplementor) |
InitializeExplicitSelectClause (FromClause) | 17 | 1h 9min | 5min | NHibernate.Hql.Ast.ANTLR.Tree .SelectClause .InitializeExplicitSelectClause (FromClause) |
GenerateCustomReturns(Boolean) | 17 | 1h 9min | 5min | NHibernate.Loader.Custom.Sql .SQLQueryReturnProcessor .GenerateCustomReturns(Boolean) |
RenderWhereStringTemplate(String,String ,Dialect,SQLFunctionRegistry) | 17 | 1h 9min | 5min | NHibernate.SqlCommand.Template .RenderWhereStringTemplate(String,String ,Dialect,SQLFunctionRegistry) |
AddSqlQuery(HbmSqlQuery) | 16 | 1h 4min | 3min 48s | NHibernate.Cfg.XmlHbmBinding .NamedSQLQueryBinder.AddSqlQuery (HbmSqlQuery) |
ConcreteQueries(String ,ISessionFactoryImplementor) | 16 | 1h 4min | 3min 48s | NHibernate.Hql.QuerySplitter .ConcreteQueries(String ,ISessionFactoryImplementor) |
Process(NonAggregatingGroupBy ,QueryModelVisitor,IntermediateHqlTree) | 16 | 1h 4min | 3min 48s | NHibernate.Linq.Visitors .ResultOperatorProcessors .ProcessNonAggregatingGroupBy.Process (NonAggregatingGroupBy,QueryModelVisitor ,IntermediateHqlTree) |
GetSubSelectWithLimits(SqlString ,ICollection<IParameterSpecification> ,RowSelection,IDictionary<String ,TypedValue>) | 16 | 1h 4min | 3min 48s | NHibernate.Loader.Collection .CollectionLoader.GetSubSelectWithLimits (SqlString,ICollection <IParameterSpecification>,RowSelection ,IDictionary<String,TypedValue>) |
![]() | Rule Violated: Avoid methods with too many overloads |
• How to Fix Issues: Typically the too many overloads phenomenon appears when an algorithm takes a various set of in-parameters. Each overload is presented as a facility to provide a various set of in-parameters. In such situation, the C# and VB.NET language feature named Named and Optional arguments should be used. The too many overloads phenomenon can also be a consequence of the usage of the visitor design pattern http://en.wikipedia.org/wiki/Visitor_pattern since a method named Visit() must be provided for each sub type. In such situation there is no need for fix. Sometime too many overloads phenomenon is not the symptom of a problem, for example when a numeric to something conversion method applies to all numeric and nullable numeric types. The estimated Debt, which means the effort to fix such issue, is of 2 minutes per method overload.
499 methods matched
- The following list of methods is truncated and contains only the first 100 methods of the 499 methods matched.
-
Formatting: bold means added, underlined means code was changed,
strike-boldmeans removed (since baseline)
499 methods | overloads | Debt | Severity | Full Name |
---|---|---|---|---|
List<T>(IQueryExpression,QueryParameters )![]() | 12 methods | 2min 0s | Minor | NHibernate.Impl.AbstractSessionImpl.List <T>(IQueryExpression,QueryParameters) |
List(IQueryExpression,QueryParameters ,IList)![]() | 12 methods | 2min 0s | Minor | NHibernate.Engine.ISessionImplementor .List(IQueryExpression,QueryParameters ,IList) |
List<T>(IQueryExpression,QueryParameters )![]() | 12 methods | 2min 0s | Minor | NHibernate.Engine.ISessionImplementor .List<T>(IQueryExpression ,QueryParameters) |
Delete(String,Object,Boolean,ISet<Object >)![]() | 6 methods | 2min 0s | Minor | NHibernate.Impl.SessionImpl.Delete (String,Object,Boolean,ISet<Object>) |
Execute(Action<String>,Boolean,Boolean ,TextWriter,IDbCommand,String)![]() | 6 methods | 2min 0s | Minor | NHibernate.Tool.hbm2ddl.SchemaExport .Execute(Action<String>,Boolean,Boolean ,TextWriter,IDbCommand,String) |
Execute(Boolean,Boolean,Boolean ,IDbConnection,TextWriter)![]() | 6 methods | 2min 0s | Minor | NHibernate.Tool.hbm2ddl.SchemaExport .Execute(Boolean,Boolean,Boolean ,IDbConnection,TextWriter) |
Execute(Action<String>,Boolean,Boolean ,IDbConnection,TextWriter)![]() | 6 methods | 2min 0s | Minor | NHibernate.Tool.hbm2ddl.SchemaExport .Execute(Action<String>,Boolean,Boolean ,IDbConnection,TextWriter) |
Execute(Boolean,Boolean,Boolean)![]() | 6 methods | 2min 0s | Minor | NHibernate.Tool.hbm2ddl.SchemaExport .Execute(Boolean,Boolean,Boolean) |
Execute(Action<String>,Boolean,Boolean)![]() | 6 methods | 2min 0s | Minor | NHibernate.Tool.hbm2ddl.SchemaExport .Execute(Action<String>,Boolean,Boolean) |
Execute(Action<String>,Boolean,Boolean ,TextWriter)![]() | 6 methods | 2min 0s | Minor | NHibernate.Tool.hbm2ddl.SchemaExport .Execute(Action<String>,Boolean,Boolean ,TextWriter) |
AddCustomizer(Type,Action<IClassMapper>) | 26 methods | 2min 0s | Minor | NHibernate.Mapping.ByCode.Impl .CustomizersHolder.AddCustomizer(Type ,Action<IClassMapper>) |
AddCustomizer(Type,Action <ISubclassMapper>) | 26 methods | 2min 0s | Minor | NHibernate.Mapping.ByCode.Impl .CustomizersHolder.AddCustomizer(Type ,Action<ISubclassMapper>) |
AddCustomizer(Type,Action <IJoinedSubclassAttributesMapper>) | 26 methods | 2min 0s | Minor | NHibernate.Mapping.ByCode.Impl .CustomizersHolder.AddCustomizer(Type ,Action<IJoinedSubclassAttributesMapper> ) |
AddCustomizer(Type,Action <IUnionSubclassAttributesMapper>) | 26 methods | 2min 0s | Minor | NHibernate.Mapping.ByCode.Impl .CustomizersHolder.AddCustomizer(Type ,Action<IUnionSubclassAttributesMapper>) |
AddCustomizer(Type,Action <IComponentAttributesMapper>) | 26 methods | 2min 0s | Minor | NHibernate.Mapping.ByCode.Impl .CustomizersHolder.AddCustomizer(Type ,Action<IComponentAttributesMapper>) |
AddCustomizer(Type,Action <IJoinAttributesMapper>) | 26 methods | 2min 0s | Minor | NHibernate.Mapping.ByCode.Impl .CustomizersHolder.AddCustomizer(Type ,Action<IJoinAttributesMapper>) |
AddCustomizer(PropertyPath,Action <IPropertyMapper>) | 26 methods | 2min 0s | Minor | NHibernate.Mapping.ByCode.Impl .CustomizersHolder.AddCustomizer (PropertyPath,Action<IPropertyMapper>) |
AddCustomizer(PropertyPath,Action <IManyToOneMapper>) | 26 methods | 2min 0s | Minor | NHibernate.Mapping.ByCode.Impl .CustomizersHolder.AddCustomizer (PropertyPath,Action<IManyToOneMapper>) |
AddCustomizer(PropertyPath,Action <IOneToOneMapper>) | 26 methods | 2min 0s | Minor | NHibernate.Mapping.ByCode.Impl .CustomizersHolder.AddCustomizer (PropertyPath,Action<IOneToOneMapper>) |
AddCustomizer(PropertyPath,Action <IAnyMapper>) | 26 methods | 2min 0s | Minor | NHibernate.Mapping.ByCode.Impl .CustomizersHolder.AddCustomizer (PropertyPath,Action<IAnyMapper>) |
AddCustomizer(PropertyPath,Action <ISetPropertiesMapper>) | 26 methods | 2min 0s | Minor | NHibernate.Mapping.ByCode.Impl .CustomizersHolder.AddCustomizer (PropertyPath,Action <ISetPropertiesMapper>) |
AddCustomizer(PropertyPath,Action <IBagPropertiesMapper>) | 26 methods | 2min 0s | Minor | NHibernate.Mapping.ByCode.Impl .CustomizersHolder.AddCustomizer (PropertyPath,Action <IBagPropertiesMapper>) |
AddCustomizer(PropertyPath,Action <IListPropertiesMapper>) | 26 methods | 2min 0s | Minor | NHibernate.Mapping.ByCode.Impl .CustomizersHolder.AddCustomizer (PropertyPath,Action <IListPropertiesMapper>) |
AddCustomizer(PropertyPath,Action <IMapPropertiesMapper>) | 26 methods | 2min 0s | Minor | NHibernate.Mapping.ByCode.Impl .CustomizersHolder.AddCustomizer (PropertyPath,Action <IMapPropertiesMapper>) |
AddCustomizer(PropertyPath,Action <IIdBagPropertiesMapper>) | 26 methods | 2min 0s | Minor | NHibernate.Mapping.ByCode.Impl .CustomizersHolder.AddCustomizer (PropertyPath,Action <IIdBagPropertiesMapper>) |
AddCustomizer(PropertyPath,Action <ICollectionPropertiesMapper>) | 26 methods | 2min 0s | Minor | NHibernate.Mapping.ByCode.Impl .CustomizersHolder.AddCustomizer (PropertyPath,Action <ICollectionPropertiesMapper>) |
AddCustomizer(PropertyPath,Action <IComponentAttributesMapper>) | 26 methods | 2min 0s | Minor | NHibernate.Mapping.ByCode.Impl .CustomizersHolder.AddCustomizer (PropertyPath,Action <IComponentAttributesMapper>) |
AddCustomizer(PropertyPath,Action <IComponentAsIdAttributesMapper>) | 26 methods | 2min 0s | Minor | NHibernate.Mapping.ByCode.Impl .CustomizersHolder.AddCustomizer (PropertyPath,Action <IComponentAsIdAttributesMapper>) |
AddCustomizer(PropertyPath,Action <IDynamicComponentAttributesMapper>) | 26 methods | 2min 0s | Minor | NHibernate.Mapping.ByCode.Impl .CustomizersHolder.AddCustomizer (PropertyPath,Action <IDynamicComponentAttributesMapper>) |
AddCustomizer(PropertyPath,Action <IManyToManyMapper>) | 26 methods | 2min 0s | Minor | NHibernate.Mapping.ByCode.Impl .CustomizersHolder.AddCustomizer (PropertyPath,Action<IManyToManyMapper>) |
AddCustomizer(PropertyPath,Action <IElementMapper>) | 26 methods | 2min 0s | Minor | NHibernate.Mapping.ByCode.Impl .CustomizersHolder.AddCustomizer (PropertyPath,Action<IElementMapper>) |
AddCustomizer(PropertyPath,Action <IOneToManyMapper>) | 26 methods | 2min 0s | Minor | NHibernate.Mapping.ByCode.Impl .CustomizersHolder.AddCustomizer (PropertyPath,Action<IOneToManyMapper>) |
AddCustomizer(PropertyPath,Action <IManyToAnyMapper>) | 26 methods | 2min 0s | Minor | NHibernate.Mapping.ByCode.Impl .CustomizersHolder.AddCustomizer (PropertyPath,Action<IManyToAnyMapper>) |
AddCustomizer(PropertyPath,Action <IMapKeyManyToManyMapper>) | 26 methods | 2min 0s | Minor | NHibernate.Mapping.ByCode.Impl .CustomizersHolder.AddCustomizer (PropertyPath,Action <IMapKeyManyToManyMapper>) |
AddCustomizer(PropertyPath,Action <IMapKeyMapper>) | 26 methods | 2min 0s | Minor | NHibernate.Mapping.ByCode.Impl .CustomizersHolder.AddCustomizer (PropertyPath,Action<IMapKeyMapper>) |
AddCustomizer<TSubject,TCustomizable> (IDictionary<TSubject,List<Action <TCustomizable>>>,TSubject,Action <TCustomizable>) | 26 methods | 2min 0s | Minor | NHibernate.Mapping.ByCode.Impl .CustomizersHolder.AddCustomizer <TSubject,TCustomizable>(IDictionary <TSubject,List<Action<TCustomizable>>> ,TSubject,Action<TCustomizable>) |
AddCustomizer(Type,Action<IClassMapper>) | 25 methods | 2min 0s | Minor | NHibernate.Mapping.ByCode.Impl .ICustomizersHolder.AddCustomizer(Type ,Action<IClassMapper>) |
AddCustomizer(Type,Action <ISubclassMapper>) | 25 methods | 2min 0s | Minor | NHibernate.Mapping.ByCode.Impl .ICustomizersHolder.AddCustomizer(Type ,Action<ISubclassMapper>) |
AddCustomizer(Type,Action <IJoinedSubclassAttributesMapper>) | 25 methods | 2min 0s | Minor | NHibernate.Mapping.ByCode.Impl .ICustomizersHolder.AddCustomizer(Type ,Action<IJoinedSubclassAttributesMapper> ) |
AddCustomizer(Type,Action <IUnionSubclassAttributesMapper>) | 25 methods | 2min 0s | Minor | NHibernate.Mapping.ByCode.Impl .ICustomizersHolder.AddCustomizer(Type ,Action<IUnionSubclassAttributesMapper>) |
AddCustomizer(Type,Action <IComponentAttributesMapper>) | 25 methods | 2min 0s | Minor | NHibernate.Mapping.ByCode.Impl .ICustomizersHolder.AddCustomizer(Type ,Action<IComponentAttributesMapper>) |
AddCustomizer(Type,Action <IJoinAttributesMapper>) | 25 methods | 2min 0s | Minor | NHibernate.Mapping.ByCode.Impl .ICustomizersHolder.AddCustomizer(Type ,Action<IJoinAttributesMapper>) |
AddCustomizer(PropertyPath,Action <IPropertyMapper>) | 25 methods | 2min 0s | Minor | NHibernate.Mapping.ByCode.Impl .ICustomizersHolder.AddCustomizer (PropertyPath,Action<IPropertyMapper>) |
AddCustomizer(PropertyPath,Action <IManyToOneMapper>) | 25 methods | 2min 0s | Minor | NHibernate.Mapping.ByCode.Impl .ICustomizersHolder.AddCustomizer (PropertyPath,Action<IManyToOneMapper>) |
AddCustomizer(PropertyPath,Action <IOneToOneMapper>) | 25 methods | 2min 0s | Minor | NHibernate.Mapping.ByCode.Impl .ICustomizersHolder.AddCustomizer (PropertyPath,Action<IOneToOneMapper>) |
AddCustomizer(PropertyPath,Action <IAnyMapper>) | 25 methods | 2min 0s | Minor | NHibernate.Mapping.ByCode.Impl .ICustomizersHolder.AddCustomizer (PropertyPath,Action<IAnyMapper>) |
AddCustomizer(PropertyPath,Action <ISetPropertiesMapper>) | 25 methods | 2min 0s | Minor | NHibernate.Mapping.ByCode.Impl .ICustomizersHolder.AddCustomizer (PropertyPath,Action <ISetPropertiesMapper>) |
AddCustomizer(PropertyPath,Action <IBagPropertiesMapper>) | 25 methods | 2min 0s | Minor | NHibernate.Mapping.ByCode.Impl .ICustomizersHolder.AddCustomizer (PropertyPath,Action <IBagPropertiesMapper>) |
AddCustomizer(PropertyPath,Action <IListPropertiesMapper>) | 25 methods | 2min 0s | Minor | NHibernate.Mapping.ByCode.Impl .ICustomizersHolder.AddCustomizer (PropertyPath,Action <IListPropertiesMapper>) |
AddCustomizer(PropertyPath,Action <IMapPropertiesMapper>) | 25 methods | 2min 0s | Minor | NHibernate.Mapping.ByCode.Impl .ICustomizersHolder.AddCustomizer (PropertyPath,Action <IMapPropertiesMapper>) |
AddCustomizer(PropertyPath,Action <IIdBagPropertiesMapper>) | 25 methods | 2min 0s | Minor | NHibernate.Mapping.ByCode.Impl .ICustomizersHolder.AddCustomizer (PropertyPath,Action <IIdBagPropertiesMapper>) |
AddCustomizer(PropertyPath,Action <ICollectionPropertiesMapper>) | 25 methods | 2min 0s | Minor | NHibernate.Mapping.ByCode.Impl .ICustomizersHolder.AddCustomizer (PropertyPath,Action <ICollectionPropertiesMapper>) |
AddCustomizer(PropertyPath,Action <IComponentAttributesMapper>) | 25 methods | 2min 0s | Minor | NHibernate.Mapping.ByCode.Impl .ICustomizersHolder.AddCustomizer (PropertyPath,Action <IComponentAttributesMapper>) |
AddCustomizer(PropertyPath,Action <IComponentAsIdAttributesMapper>) | 25 methods | 2min 0s | Minor | NHibernate.Mapping.ByCode.Impl .ICustomizersHolder.AddCustomizer (PropertyPath,Action <IComponentAsIdAttributesMapper>) |
AddCustomizer(PropertyPath,Action <IDynamicComponentAttributesMapper>) | 25 methods | 2min 0s | Minor | NHibernate.Mapping.ByCode.Impl .ICustomizersHolder.AddCustomizer (PropertyPath,Action <IDynamicComponentAttributesMapper>) |
AddCustomizer(PropertyPath,Action <IMapKeyManyToManyMapper>) | 25 methods | 2min 0s | Minor | NHibernate.Mapping.ByCode.Impl .ICustomizersHolder.AddCustomizer (PropertyPath,Action <IMapKeyManyToManyMapper>) |
AddCustomizer(PropertyPath,Action <IMapKeyMapper>) | 25 methods | 2min 0s | Minor | NHibernate.Mapping.ByCode.Impl .ICustomizersHolder.AddCustomizer (PropertyPath,Action<IMapKeyMapper>) |
AddCustomizer(PropertyPath,Action <IManyToManyMapper>) | 25 methods | 2min 0s | Minor | NHibernate.Mapping.ByCode.Impl .ICustomizersHolder.AddCustomizer (PropertyPath,Action<IManyToManyMapper>) |
AddCustomizer(PropertyPath,Action <IElementMapper>) | 25 methods | 2min 0s | Minor | NHibernate.Mapping.ByCode.Impl .ICustomizersHolder.AddCustomizer (PropertyPath,Action<IElementMapper>) |
AddCustomizer(PropertyPath,Action <IOneToManyMapper>) | 25 methods | 2min 0s | Minor | NHibernate.Mapping.ByCode.Impl .ICustomizersHolder.AddCustomizer (PropertyPath,Action<IOneToManyMapper>) |
AddCustomizer(PropertyPath,Action <IManyToAnyMapper>) | 25 methods | 2min 0s | Minor | NHibernate.Mapping.ByCode.Impl .ICustomizersHolder.AddCustomizer (PropertyPath,Action<IManyToAnyMapper>) |
InvokeCustomizers(PropertyPath ,IManyToAnyMapper) | 25 methods | 2min 0s | Minor | NHibernate.Mapping.ByCode.Impl .CustomizersHolder.InvokeCustomizers (PropertyPath,IManyToAnyMapper) |
InvokeCustomizers(Type,IClassMapper) | 25 methods | 2min 0s | Minor | NHibernate.Mapping.ByCode.Impl .CustomizersHolder.InvokeCustomizers (Type,IClassMapper) |
InvokeCustomizers(Type,ISubclassMapper) | 25 methods | 2min 0s | Minor | NHibernate.Mapping.ByCode.Impl .CustomizersHolder.InvokeCustomizers (Type,ISubclassMapper) |
InvokeCustomizers(Type ,IJoinedSubclassAttributesMapper) | 25 methods | 2min 0s | Minor | NHibernate.Mapping.ByCode.Impl .CustomizersHolder.InvokeCustomizers (Type,IJoinedSubclassAttributesMapper) |
InvokeCustomizers(Type ,IUnionSubclassAttributesMapper) | 25 methods | 2min 0s | Minor | NHibernate.Mapping.ByCode.Impl .CustomizersHolder.InvokeCustomizers (Type,IUnionSubclassAttributesMapper) |
InvokeCustomizers(Type ,IComponentAttributesMapper) | 25 methods | 2min 0s | Minor | NHibernate.Mapping.ByCode.Impl .CustomizersHolder.InvokeCustomizers (Type,IComponentAttributesMapper) |
InvokeCustomizers(Type ,IJoinAttributesMapper) | 25 methods | 2min 0s | Minor | NHibernate.Mapping.ByCode.Impl .CustomizersHolder.InvokeCustomizers (Type,IJoinAttributesMapper) |
InvokeCustomizers(PropertyPath ,IPropertyMapper) | 25 methods | 2min 0s | Minor | NHibernate.Mapping.ByCode.Impl .CustomizersHolder.InvokeCustomizers (PropertyPath,IPropertyMapper) |
InvokeCustomizers(PropertyPath ,IManyToOneMapper) | 25 methods | 2min 0s | Minor | NHibernate.Mapping.ByCode.Impl .CustomizersHolder.InvokeCustomizers (PropertyPath,IManyToOneMapper) |
InvokeCustomizers(PropertyPath ,IOneToOneMapper) | 25 methods | 2min 0s | Minor | NHibernate.Mapping.ByCode.Impl .CustomizersHolder.InvokeCustomizers (PropertyPath,IOneToOneMapper) |
InvokeCustomizers(PropertyPath ,IAnyMapper) | 25 methods | 2min 0s | Minor | NHibernate.Mapping.ByCode.Impl .CustomizersHolder.InvokeCustomizers (PropertyPath,IAnyMapper) |
InvokeCustomizers(PropertyPath ,ISetPropertiesMapper) | 25 methods | 2min 0s | Minor | NHibernate.Mapping.ByCode.Impl .CustomizersHolder.InvokeCustomizers (PropertyPath,ISetPropertiesMapper) |
InvokeCustomizers(PropertyPath ,IBagPropertiesMapper) | 25 methods | 2min 0s | Minor | NHibernate.Mapping.ByCode.Impl .CustomizersHolder.InvokeCustomizers (PropertyPath,IBagPropertiesMapper) |
InvokeCustomizers(PropertyPath ,IListPropertiesMapper) | 25 methods | 2min 0s | Minor | NHibernate.Mapping.ByCode.Impl .CustomizersHolder.InvokeCustomizers (PropertyPath,IListPropertiesMapper) |
InvokeCustomizers(PropertyPath ,IMapPropertiesMapper) | 25 methods | 2min 0s | Minor | NHibernate.Mapping.ByCode.Impl .CustomizersHolder.InvokeCustomizers (PropertyPath,IMapPropertiesMapper) |
InvokeCustomizers(PropertyPath ,IIdBagPropertiesMapper) | 25 methods | 2min 0s | Minor | NHibernate.Mapping.ByCode.Impl .CustomizersHolder.InvokeCustomizers (PropertyPath,IIdBagPropertiesMapper) |
InvokeCustomizers(PropertyPath ,IComponentAttributesMapper) | 25 methods | 2min 0s | Minor | NHibernate.Mapping.ByCode.Impl .CustomizersHolder.InvokeCustomizers (PropertyPath,IComponentAttributesMapper ) |
InvokeCustomizers(PropertyPath ,IComponentAsIdAttributesMapper) | 25 methods | 2min 0s | Minor | NHibernate.Mapping.ByCode.Impl .CustomizersHolder.InvokeCustomizers (PropertyPath ,IComponentAsIdAttributesMapper) |
InvokeCustomizers(PropertyPath ,IDynamicComponentAttributesMapper) | 25 methods | 2min 0s | Minor | NHibernate.Mapping.ByCode.Impl .CustomizersHolder.InvokeCustomizers (PropertyPath ,IDynamicComponentAttributesMapper) |
InvokeCustomizers(PropertyPath ,IManyToManyMapper) | 25 methods | 2min 0s | Minor | NHibernate.Mapping.ByCode.Impl .CustomizersHolder.InvokeCustomizers (PropertyPath,IManyToManyMapper) |
InvokeCustomizers(PropertyPath ,IElementMapper) | 25 methods | 2min 0s | Minor | NHibernate.Mapping.ByCode.Impl .CustomizersHolder.InvokeCustomizers (PropertyPath,IElementMapper) |
InvokeCustomizers(PropertyPath ,IOneToManyMapper) | 25 methods | 2min 0s | Minor | NHibernate.Mapping.ByCode.Impl .CustomizersHolder.InvokeCustomizers (PropertyPath,IOneToManyMapper) |
InvokeCustomizers(PropertyPath ,IMapKeyManyToManyMapper) | 25 methods | 2min 0s | Minor | NHibernate.Mapping.ByCode.Impl .CustomizersHolder.InvokeCustomizers (PropertyPath,IMapKeyManyToManyMapper) |
InvokeCustomizers(PropertyPath ,IMapKeyMapper) | 25 methods | 2min 0s | Minor | NHibernate.Mapping.ByCode.Impl .CustomizersHolder.InvokeCustomizers (PropertyPath,IMapKeyMapper) |
InvokeCustomizers<TSubject,TCustomizable >(IDictionary<TSubject,List<Action <TCustomizable>>>,TSubject,TCustomizable ) | 25 methods | 2min 0s | Minor | NHibernate.Mapping.ByCode.Impl .CustomizersHolder.InvokeCustomizers <TSubject,TCustomizable>(IDictionary <TSubject,List<Action<TCustomizable>>> ,TSubject,TCustomizable) |
InvokeCustomizers(Type,IClassMapper) | 24 methods | 2min 0s | Minor | NHibernate.Mapping.ByCode.Impl .ICustomizersHolder.InvokeCustomizers (Type,IClassMapper) |
InvokeCustomizers(Type,ISubclassMapper) | 24 methods | 2min 0s | Minor | NHibernate.Mapping.ByCode.Impl .ICustomizersHolder.InvokeCustomizers (Type,ISubclassMapper) |
InvokeCustomizers(Type ,IJoinedSubclassAttributesMapper) | 24 methods | 2min 0s | Minor | NHibernate.Mapping.ByCode.Impl .ICustomizersHolder.InvokeCustomizers (Type,IJoinedSubclassAttributesMapper) |
InvokeCustomizers(Type ,IUnionSubclassAttributesMapper) | 24 methods | 2min 0s | Minor | NHibernate.Mapping.ByCode.Impl .ICustomizersHolder.InvokeCustomizers (Type,IUnionSubclassAttributesMapper) |
InvokeCustomizers(Type ,IComponentAttributesMapper) | 24 methods | 2min 0s | Minor | NHibernate.Mapping.ByCode.Impl .ICustomizersHolder.InvokeCustomizers (Type,IComponentAttributesMapper) |
InvokeCustomizers(Type ,IJoinAttributesMapper) | 24 methods | 2min 0s | Minor | NHibernate.Mapping.ByCode.Impl .ICustomizersHolder.InvokeCustomizers (Type,IJoinAttributesMapper) |
InvokeCustomizers(PropertyPath ,IPropertyMapper) | 24 methods | 2min 0s | Minor | NHibernate.Mapping.ByCode.Impl .ICustomizersHolder.InvokeCustomizers (PropertyPath,IPropertyMapper) |
InvokeCustomizers(PropertyPath ,IManyToOneMapper) | 24 methods | 2min 0s | Minor | NHibernate.Mapping.ByCode.Impl .ICustomizersHolder.InvokeCustomizers (PropertyPath,IManyToOneMapper) |
InvokeCustomizers(PropertyPath ,IOneToOneMapper) | 24 methods | 2min 0s | Minor | NHibernate.Mapping.ByCode.Impl .ICustomizersHolder.InvokeCustomizers (PropertyPath,IOneToOneMapper) |
InvokeCustomizers(PropertyPath ,IAnyMapper) | 24 methods | 2min 0s | Minor | NHibernate.Mapping.ByCode.Impl .ICustomizersHolder.InvokeCustomizers (PropertyPath,IAnyMapper) |
InvokeCustomizers(PropertyPath ,ISetPropertiesMapper) | 24 methods | 2min 0s | Minor | NHibernate.Mapping.ByCode.Impl .ICustomizersHolder.InvokeCustomizers (PropertyPath,ISetPropertiesMapper) |
InvokeCustomizers(PropertyPath ,IBagPropertiesMapper) | 24 methods | 2min 0s | Minor | NHibernate.Mapping.ByCode.Impl .ICustomizersHolder.InvokeCustomizers (PropertyPath,IBagPropertiesMapper) |
InvokeCustomizers(PropertyPath ,IListPropertiesMapper) | 24 methods | 2min 0s | Minor | NHibernate.Mapping.ByCode.Impl .ICustomizersHolder.InvokeCustomizers (PropertyPath,IListPropertiesMapper) |
InvokeCustomizers(PropertyPath ,IMapPropertiesMapper) | 24 methods | 2min 0s | Minor | NHibernate.Mapping.ByCode.Impl .ICustomizersHolder.InvokeCustomizers (PropertyPath,IMapPropertiesMapper) |
![]() | Rule Violated: Avoid methods potentially poorly commented |
• How to Fix Issues: Typically add more comment. But code commenting is subject to controversy. While poorly written and designed code would needs a lot of comment to be understood, clean code doesn't need that much comment, especially if variables and methods are properly named and convey enough information. Unit-Test code can also play the role of code commenting. However, even when writing clean and well-tested code, one will have to write hacks at a point, usually to circumvent some API limitations or bugs. A hack is a non-trivial piece of code, that doesn't make sense at first glance, and that took time and web research to be found. In such situation comments must absolutely be used to express the intention, the need for the hacks and the source where the solution has been found. The estimated Debt, which means the effort to comment such method, varies linearly from 2 minutes for 10 lines of code not commented, up to 20 minutes for 200 or more, lines of code not commented.
288 methods matched
- The following list of methods is truncated and contains only the first 100 methods of the 288 methods matched.
-
Formatting: bold means added, underlined means code was changed,
strike-boldmeans removed (since baseline)
288 methods | Percentage Comment | # lines of code (LOC) | # lines of comment | nbLinesOfCodeNotCommented | Debt | Annual Interest | Full Name |
---|---|---|---|---|---|---|---|
Initialize(SelectClause)![]() | 13.33 | 52 | 8 | 44 | 4min 24s | 6min | NHibernate.Loader.Hql.QueryLoader .Initialize(SelectClause) |
OnDelete(DeleteEvent,ISet<Object>)![]() | 3.12 | 31 | 1 | 30 | 3min 0s | 13min | NHibernate.Event.Default .DefaultDeleteEventListener.OnDelete (DeleteEvent,ISet<Object>) |
DoQuery(ISessionImplementor ,QueryParameters,Boolean ,IResultTransformer)![]() | 16.28 | 36 | 7 | 29 | 2min 54s | 4min 36s | NHibernate.Loader.Loader.DoQuery (ISessionImplementor,QueryParameters ,Boolean,IResultTransformer) |
Execute(Action<String>,Boolean,Boolean ,TextWriter)![]() | 3.23 | 30 | 1 | 29 | 2min 54s | 13min | NHibernate.Tool.hbm2ddl.SchemaExport .Execute(Action<String>,Boolean,Boolean ,TextWriter) |
.ctor(IDbConnection,SessionFactoryImpl ,Boolean,Int64,IInterceptor,EntityMode ,Boolean,Boolean,Boolean ,ConnectionReleaseMode,FlushMode)![]() | 0 | 27 | 0 | 27 | 2min 42s | 16min | NHibernate.Impl.SessionImpl..ctor (IDbConnection,SessionFactoryImpl ,Boolean,Int64,IInterceptor,EntityMode ,Boolean,Boolean,Boolean ,ConnectionReleaseMode,FlushMode) |
BindJoin(HbmJoin,Join,IDictionary<String ,MetaAttribute>)![]() | 16.22 | 31 | 6 | 25 | 2min 30s | 4min 38s | NHibernate.Cfg.XmlHbmBinding.ClassBinder .BindJoin(HbmJoin,Join,IDictionary <String,MetaAttribute>) |
AfterInitialize(ICollectionPersister)![]() | 12.5 | 28 | 4 | 24 | 2min 24s | 7min | NHibernate.Collection.Generic .PersistentGenericBag<T>.AfterInitialize (ICollectionPersister) |
EnlistInDistributedTransactionIfNeeded (ISessionImplementor)![]() | 0 | 23 | 0 | 23 | 2min 18s | 16min | NHibernate.Transaction .AdoNetWithDistributedTransactionFactory .EnlistInDistributedTransactionIfNeeded (ISessionImplementor) |
IsDynamicComponentDictionaryGetter (MethodInfo,Expression,IEnumerable <Expression>,ISessionFactory,String&)![]() | 17.14 | 29 | 6 | 23 | 2min 18s | 4min 0s | NHibernate.Linq.Visitors.VisitorUtil .IsDynamicComponentDictionaryGetter (MethodInfo,Expression,IEnumerable <Expression>,ISessionFactory,String&) |
RegisterColumnTypes()![]() | 13.33 | 26 | 4 | 22 | 2min 12s | 6min | NHibernate.Dialect.FirebirdDialect .RegisterColumnTypes() |
GetColumnsToTableAliasMap(String)![]() | 0 | 22 | 0 | 22 | 2min 12s | 16min | NHibernate.Persister.Entity .AbstractEntityPersister .GetColumnsToTableAliasMap(String) |
FlattenSubQuery(QueryModel,QueryModel ,GroupResultOperator)![]() | 15.62 | 27 | 5 | 22 | 2min 12s | 5min | NHibernate.Linq.GroupBy .AggregatingGroupByRewriter .FlattenSubQuery(QueryModel,QueryModel ,GroupResultOperator) |
VisitAdditionalFromClause (AdditionalFromClause,QueryModel,Int32)![]() | 0 | 22 | 0 | 22 | 2min 12s | 16min | NHibernate.Linq.Visitors .LeftJoinRewriter .VisitAdditionalFromClause (AdditionalFromClause,QueryModel,Int32) |
VisitExpression(Expression)![]() | 13.33 | 26 | 4 | 22 | 2min 12s | 6min | NHibernate.Linq.Visitors .SelectClauseHqlNominator .VisitExpression(Expression) |
SecondPassCompileForeignKeys(Table,ISet <ForeignKey>)![]() | 0 | 21 | 0 | 21 | 2min 6s | 16min | NHibernate.Cfg.Configuration .SecondPassCompileForeignKeys(Table,ISet <ForeignKey>) |
GetDeletes(ICollectionPersister,Boolean)![]() | 4.35 | 22 | 1 | 21 | 2min 6s | 12min | NHibernate.Collection.Generic .PersistentGenericBag<T>.GetDeletes (ICollectionPersister,Boolean) |
ToSqlString(ICriteria,ICriteriaQuery ,IDictionary<String,IFilter>)![]() | 14.29 | 24 | 4 | 20 | 2min 0s | 6min | NHibernate.Criterion.SubqueryExpression .ToSqlString(ICriteria,ICriteriaQuery ,IDictionary<String,IFilter>) |
AppendTokens(SqlStringBuilder ,IEnumerable)![]() | 14.81 | 23 | 4 | 19 | 2min 0s | 5min | NHibernate.SqlCommand.QuerySelect .AppendTokens(SqlStringBuilder ,IEnumerable) |
GetCollection(Object,ISessionImplementor ,Object)![]() | 15.38 | 22 | 4 | 18 | 2min 0s | 5min | NHibernate.Type.CollectionType .GetCollection(Object ,ISessionImplementor,Object) |
CreatePrimaryKey()![]() | 12.5 | 21 | 3 | 18 | 2min 0s | 7min | NHibernate.Mapping.Set.CreatePrimaryKey( ) |
GetEntityBatch(IEntityPersister,Object ,Int32)![]() | 19.23 | 21 | 5 | 16 | 2min 0s | 2min 32s | NHibernate.Engine.BatchFetchQueue .GetEntityBatch(IEntityPersister,Object ,Int32) |
.ctor(Collection ,ICacheConcurrencyStrategy,Configuration ,ISessionFactoryImplementor) | 4.33 | 243 | 11 | 232 | 20min | 12min | NHibernate.Persister.Collection .AbstractCollectionPersister..ctor (Collection,ICacheConcurrencyStrategy ,Configuration ,ISessionFactoryImplementor) |
.ctor(PersistentClass ,ICacheConcurrencyStrategy ,ISessionFactoryImplementor,IMapping) | 2.59 | 226 | 6 | 220 | 20min | 14min | NHibernate.Persister.Entity .SingleTableEntityPersister..ctor (PersistentClass ,ICacheConcurrencyStrategy ,ISessionFactoryImplementor,IMapping) |
.ctor(PersistentClass ,ICacheConcurrencyStrategy ,ISessionFactoryImplementor) | 3.57 | 189 | 7 | 182 | 18min | 13min | NHibernate.Persister.Entity .AbstractEntityPersister..ctor (PersistentClass ,ICacheConcurrencyStrategy ,ISessionFactoryImplementor) |
.ctor(PersistentClass ,ICacheConcurrencyStrategy ,ISessionFactoryImplementor,IMapping) | 4.71 | 162 | 8 | 154 | 15min | 12min | NHibernate.Persister.Entity .JoinedSubclassEntityPersister..ctor (PersistentClass ,ICacheConcurrencyStrategy ,ISessionFactoryImplementor,IMapping) |
.ctor(Configuration,IMapping,Settings ,EventListeners) | 2.16 | 136 | 3 | 133 | 13min | 14min | NHibernate.Impl.SessionFactoryImpl..ctor (Configuration,IMapping,Settings ,EventListeners) |
BuildSettings(IDictionary<String,String> ) | 10.18 | 150 | 17 | 133 | 13min | 8min | NHibernate.Cfg.SettingsFactory .BuildSettings(IDictionary<String,String >) |
.ctor(PersistentClass ,ISessionFactoryImplementor) | 4.17 | 138 | 6 | 132 | 13min | 13min | NHibernate.Tuple.Entity.EntityMetamodel. .ctor(PersistentClass ,ISessionFactoryImplementor) |
.cctor() | 0 | 115 | 0 | 115 | 11min | 16min | NHibernate.Impl.ExpressionProcessor. .cctor() |
.ctor(ICustomQuery ,ISessionFactoryImplementor) | 1.75 | 112 | 2 | 110 | 11min | 14min | NHibernate.Loader.Custom.CustomLoader. .ctor(ICustomQuery ,ISessionFactoryImplementor) |
.ctor() | 1.08 | 92 | 1 | 91 | 9min | 15min | NHibernate.Dialect.DB2Dialect..ctor() |
System.Collections.Generic.IEnumerable <NHibernate.SqlCommand.SqlString> .GetEnumerator() | 2.27 | 86 | 2 | 84 | 8min | 14min | NHibernate.Dialect .Dialect+QuotedAndParenthesisStringToken izer.System.Collections.Generic .IEnumerable<NHibernate.SqlCommand .SqlString>.GetEnumerator() |
Bind(IEnumerable<IEntityPropertyMapping> ,Table,IDictionary<String,MetaAttribute> ,Action<Property>,Action<Property>) | 3.66 | 79 | 3 | 76 | 7min | 13min | NHibernate.Cfg.XmlHbmBinding .PropertiesBinder.Bind(IEnumerable <IEntityPropertyMapping>,Table ,IDictionary<String,MetaAttribute> ,Action<Property>,Action<Property>) |
Create(IToken) | 1.28 | 77 | 1 | 76 | 7min | 15min | NHibernate.Hql.Ast.ANTLR.Tree .HqlSqlWalkerTreeAdaptor.Create(IToken) |
VisitBinaryExpression(BinaryExpression) | 6.82 | 82 | 6 | 76 | 7min | 11min | NHibernate.Linq.Visitors .WhereJoinDetector.VisitBinaryExpression (BinaryExpression) |
.ctor() | 2.56 | 76 | 2 | 74 | 7min | 14min | NHibernate.Dialect.SybaseASE15Dialect. .ctor() |
SetListeners(ListenerType,Object[]) | 0 | 73 | 0 | 73 | 7min | 16min | NHibernate.Cfg.Configuration .SetListeners(ListenerType,Object[]) |
.ctor(PersistentClass ,ICacheConcurrencyStrategy ,ISessionFactoryImplementor,IMapping) | 2.6 | 75 | 2 | 73 | 7min | 14min | NHibernate.Persister.Entity .UnionSubclassEntityPersister..ctor (PersistentClass ,ICacheConcurrencyStrategy ,ISessionFactoryImplementor,IMapping) |
ClearListeners(ListenerType) | 0 | 71 | 0 | 71 | 7min | 16min | NHibernate.Cfg.Configuration .ClearListeners(ListenerType) |
AppendListeners(ListenerType,Object[]) | 0 | 71 | 0 | 71 | 7min | 16min | NHibernate.Cfg.Configuration .AppendListeners(ListenerType,Object[]) |
RegisterFunctions() | 6.33 | 74 | 5 | 69 | 6min | 11min | NHibernate.Dialect.Oracle8iDialect .RegisterFunctions() |
DoList() | 2.9 | 67 | 2 | 65 | 6min | 13min | NHibernate.Impl.MultiQueryImpl.DoList() |
MapRootClass(Type,HbmMapping) | 0 | 60 | 0 | 60 | 6min | 16min | NHibernate.Mapping.ByCode.ModelMapper .MapRootClass(Type,HbmMapping) |
RenderWhereStringTemplate(String,String ,Dialect,SQLFunctionRegistry) | 4.55 | 63 | 3 | 60 | 6min | 12min | NHibernate.SqlCommand.Template .RenderWhereStringTemplate(String,String ,Dialect,SQLFunctionRegistry) |
SqlCreateString(Dialect,IMapping,String ,String) | 6.06 | 62 | 4 | 58 | 5min | 11min | NHibernate.Mapping.Table.SqlCreateString (Dialect,IMapping,String,String) |
InitializeEntity(Object,Boolean ,ISessionImplementor,PreLoadEvent ,PostLoadEvent) | 12 | 66 | 9 | 57 | 5min | 7min | NHibernate.Engine.TwoPhaseLoad .InitializeEntity(Object,Boolean ,ISessionImplementor,PreLoadEvent ,PostLoadEvent) |
.ctor() | 10.96 | 65 | 8 | 57 | 5min | 8min | NHibernate.Dialect.OracleLiteDialect. .ctor() |
.ctor() | 0 | 56 | 0 | 56 | 5min | 16min | NHibernate.Mapping.ByCode .SimpleModelInspector..ctor() |
GetEnumerator() | 4.84 | 59 | 3 | 56 | 5min | 12min | NHibernate.SqlCommand.Parser .SqlTokenizer.GetEnumerator() |
RegisterFunctions() | 3.39 | 57 | 2 | 55 | 5min | 13min | NHibernate.Dialect.MsSql2000Dialect .RegisterFunctions() |
DoUpdateRows(Object ,IPersistentCollection ,ISessionImplementor) | 10.14 | 62 | 7 | 55 | 5min | 8min | NHibernate.Persister.Collection .OneToManyPersister.DoUpdateRows(Object ,IPersistentCollection ,ISessionImplementor) |
GenerateCustomReturns(Boolean) | 0 | 55 | 0 | 55 | 5min | 16min | NHibernate.Loader.Custom.Sql .SQLQueryReturnProcessor .GenerateCustomReturns(Boolean) |
.cctor() | 3.51 | 55 | 2 | 53 | 5min | 13min | NHibernate.NHibernateUtil..cctor() |
Parse(String,ParameterParser+IRecognizer ) | 9.52 | 57 | 6 | 51 | 5min | 9min | NHibernate.Engine.Query.ParameterParser .Parse(String ,ParameterParser+IRecognizer) |
DoConfigure(ISessionFactoryConfiguration ) | 8.2 | 56 | 5 | 51 | 5min | 10min | NHibernate.Cfg.Configuration.DoConfigure (ISessionFactoryConfiguration) |
RegisterFunctions() | 0 | 50 | 0 | 50 | 5min | 16min | NHibernate.Dialect.MySQLDialect .RegisterFunctions() |
GenerateSchemaCreationScript(Dialect) | 0 | 49 | 0 | 49 | 4min 54s | 16min | NHibernate.Cfg.Configuration .GenerateSchemaCreationScript(Dialect) |
GenerateSchemaUpdateScript(Dialect ,DatabaseMetadata) | 0 | 49 | 0 | 49 | 4min 54s | 16min | NHibernate.Cfg.Configuration .GenerateSchemaUpdateScript(Dialect ,DatabaseMetadata) |
GetResultsFromDatabase(IList) | 2 | 49 | 1 | 48 | 4min 48s | 14min | NHibernate.Impl.MultiCriteriaImpl .GetResultsFromDatabase(IList) |
ExpandDynamicFilterParameters(SqlString ,ICollection<IParameterSpecification> ,ISessionImplementor) | 3.85 | 50 | 2 | 48 | 4min 48s | 13min | NHibernate.Engine.Query .NativeSQLQueryPlan .ExpandDynamicFilterParameters(SqlString ,ICollection<IParameterSpecification> ,ISessionImplementor) |
RegisterStringFunctions() | 2 | 49 | 1 | 48 | 4min 48s | 14min | NHibernate.Dialect .SybaseSQLAnywhere10Dialect .RegisterStringFunctions() |
.ctor() | 2 | 49 | 1 | 48 | 4min 48s | 14min | NHibernate.Dialect.MsSqlCeDialect..ctor( ) |
ExpandDynamicFilterParameters(SqlString ,ICollection<IParameterSpecification> ,ISessionImplementor) | 3.85 | 50 | 2 | 48 | 4min 48s | 13min | NHibernate.Loader.Loader .ExpandDynamicFilterParameters(SqlString ,ICollection<IParameterSpecification> ,ISessionImplementor) |
BindMapSecondPass(HbmMap,Map,IDictionary <String,PersistentClass>,IDictionary <String,MetaAttribute>) | 0 | 46 | 0 | 46 | 4min 36s | 16min | NHibernate.Cfg.XmlHbmBinding .CollectionBinder.BindMapSecondPass (HbmMap,Map,IDictionary<String ,PersistentClass>,IDictionary<String ,MetaAttribute>) |
.cctor() | 5.77 | 49 | 3 | 46 | 4min 36s | 11min | NHibernate.SqlCommand.QuerySelect..cctor () |
GenerateDropSchemaScript(Dialect) | 2.17 | 45 | 1 | 44 | 4min 24s | 14min | NHibernate.Cfg.Configuration .GenerateDropSchemaScript(Dialect) |
ToSqlString() | 9.26 | 49 | 5 | 44 | 4min 24s | 9min | NHibernate.SqlCommand.SqlUpdateBuilder .ToSqlString() |
.cctor() | 0 | 44 | 0 | 44 | 4min 24s | 16min | NHibernate.SqlCommand.Template..cctor() |
BindCollection (ICollectionPropertiesMapping,Collection ,String,String,Type,IDictionary<String ,MetaAttribute>) | 18.84 | 56 | 13 | 43 | 4min 18s | 2min 48s | NHibernate.Cfg.XmlHbmBinding .CollectionBinder.BindCollection (ICollectionPropertiesMapping,Collection ,String,String,Type,IDictionary<String ,MetaAttribute>) |
.ctor() | 12.28 | 50 | 7 | 43 | 4min 18s | 7min | NHibernate.Dialect.Dialect..ctor() |
.ctor() | 6.12 | 46 | 3 | 43 | 4min 18s | 11min | NHibernate.Dialect.PostgreSQLDialect. .ctor() |
Resolve(Boolean,Boolean,String,IASTNode) | 16.92 | 54 | 11 | 43 | 4min 18s | 4min 9s | NHibernate.Hql.Ast.ANTLR.Tree.IndexNode .Resolve(Boolean,Boolean,String,IASTNode ) |
Execute(Action<String>,Boolean) | 0 | 42 | 0 | 42 | 4min 12s | 16min | NHibernate.Tool.hbm2ddl.SchemaUpdate .Execute(Action<String>,Boolean) |
Perform() | 0 | 41 | 0 | 41 | 4min 6s | 16min | NHibernate.AdoNet.Util .BasicFormatter+FormatProcess.Perform() |
ParseColumnDefinitions(IEnumerator <SqlToken>) | 0 | 41 | 0 | 41 | 4min 6s | 16min | NHibernate.SqlCommand.Parser .MsSqlSelectParser .ParseColumnDefinitions(IEnumerator <SqlToken>) |
SetQueryProperties(IQuery) | 18.75 | 52 | 12 | 40 | 4min 0s | 2min 52s | NHibernate.Impl.AbstractDetachedQuery .SetQueryProperties(IQuery) |
RenderOrderByStringTemplate(String ,Dialect,SQLFunctionRegistry) | 2.38 | 41 | 1 | 40 | 4min 0s | 14min | NHibernate.SqlCommand.Template .RenderOrderByStringTemplate(String ,Dialect,SQLFunctionRegistry) |
.cctor() | 0 | 39 | 0 | 39 | 3min 54s | 16min | NHibernate.Engine.CascadeStyle..cctor() |
BindCollectionSecondPass (ICollectionPropertiesMapping,Collection ,IDictionary<String,PersistentClass> ,IDictionary<String,MetaAttribute>) | 8.51 | 43 | 4 | 39 | 3min 54s | 10min | NHibernate.Cfg.XmlHbmBinding .CollectionBinder .BindCollectionSecondPass (ICollectionPropertiesMapping,Collection ,IDictionary<String,PersistentClass> ,IDictionary<String,MetaAttribute>) |
OnRefresh(RefreshEvent,IDictionary) | 14.55 | 47 | 8 | 39 | 3min 54s | 5min | NHibernate.Event.Default .DefaultRefreshEventListener.OnRefresh (RefreshEvent,IDictionary) |
.ctor(IStatement) | 0 | 38 | 0 | 38 | 3min 48s | 16min | NHibernate.Hql.Ast.ANTLR.Exec .MultiTableUpdateExecutor..ctor (IStatement) |
Execute(QueryParameters ,ISessionImplementor) | 4.76 | 40 | 2 | 38 | 3min 48s | 12min | NHibernate.Hql.Ast.ANTLR.Exec .MultiTableUpdateExecutor.Execute (QueryParameters,ISessionImplementor) |
DoWorkInCurrentTransaction (ISessionImplementor,IDbConnection ,IDbTransaction) | 0 | 38 | 0 | 38 | 3min 48s | 16min | NHibernate.Id.Enhanced.TableGenerator .DoWorkInCurrentTransaction (ISessionImplementor,IDbConnection ,IDbTransaction) |
.ctor() | 2.5 | 39 | 1 | 38 | 3min 48s | 14min | NHibernate.Linq.Functions .DefaultLinqToHqlGeneratorsRegistry. .ctor() |
GetImplementors(String) | 16.36 | 46 | 9 | 37 | 3min 42s | 4min 32s | NHibernate.Impl.SessionFactoryImpl .GetImplementors(String) |
ExpandParameters(IDictionary<String ,TypedValue>) | 6.98 | 40 | 3 | 37 | 3min 42s | 11min | NHibernate.Impl.ExpressionQueryImpl .ExpandParameters(IDictionary<String ,TypedValue>) |
SecondPassCompile() | 2.56 | 38 | 1 | 37 | 3min 42s | 14min | NHibernate.Cfg.Configuration .SecondPassCompile() |
RegisterMiscellaneousFunctions() | 0 | 37 | 0 | 37 | 3min 42s | 16min | NHibernate.Dialect .SybaseSQLAnywhere10Dialect .RegisterMiscellaneousFunctions() |
Update(Object,Object[],Object[],Object ,Boolean[],Int32,Object,Object ,SqlCommandInfo,ISessionImplementor) | 10.64 | 42 | 5 | 37 | 3min 42s | 8min | NHibernate.Persister.Entity .AbstractEntityPersister.Update(Object ,Object[],Object[],Object,Boolean[] ,Int32,Object,Object,SqlCommandInfo ,ISessionImplementor) |
DeleteRows(IPersistentCollection,Object ,ISessionImplementor) | 4.88 | 39 | 2 | 37 | 3min 42s | 12min | NHibernate.Persister.Collection .AbstractCollectionPersister.DeleteRows (IPersistentCollection,Object ,ISessionImplementor) |
DoUpdateRows(Object ,IPersistentCollection ,ISessionImplementor) | 4.88 | 39 | 2 | 37 | 3min 42s | 12min | NHibernate.Persister.Collection .BasicCollectionPersister.DoUpdateRows (Object,IPersistentCollection ,ISessionImplementor) |
.cctor() | 0 | 36 | 0 | 36 | 3min 36s | 16min | NHibernate.AdoNet.Util.BasicFormatter. .cctor() |
ListenerTypeConvertFrom(String) | 0 | 36 | 0 | 36 | 3min 36s | 16min | NHibernate.Cfg.ConfigurationSchema .CfgXmlHelper.ListenerTypeConvertFrom (String) |
ListenerTypeConvertToString(ListenerType ) | 0 | 36 | 0 | 36 | 3min 36s | 16min | NHibernate.Cfg.ConfigurationSchema .CfgXmlHelper .ListenerTypeConvertToString (ListenerType) |
.cctor() | 0 | 36 | 0 | 36 | 3min 36s | 16min | NHibernate.Event.EventListeners..cctor() |
GetNaturalIdentifierSnapshot(Object ,ISessionImplementor) | 9.09 | 40 | 4 | 36 | 3min 36s | 9min | NHibernate.Persister.Entity .AbstractEntityPersister .GetNaturalIdentifierSnapshot(Object ,ISessionImplementor) |
.ctor() | 0 | 35 | 0 | 35 | 3min 30s | 16min | NHibernate.Event.EventListeners..ctor() |
Delete(Object,Object,Int32,Object ,SqlCommandInfo,ISessionImplementor ,Object[]) | 18.18 | 45 | 10 | 35 | 3min 30s | 3min 16s | NHibernate.Persister.Entity .AbstractEntityPersister.Delete(Object ,Object,Int32,Object,SqlCommandInfo ,ISessionImplementor,Object[]) |
PostInstantiate() | 7.32 | 38 | 3 | 35 | 3min 30s | 10min | NHibernate.Persister.Entity .AbstractEntityPersister.PostInstantiate () |
ToSqlString() | 14.29 | 42 | 7 | 35 | 3min 30s | 6min | NHibernate.SqlCommand.SqlInsertBuilder .ToSqlString() |
![]() | Rule Violated: Avoid types with poor cohesion |
• How to Fix Issues: To refactor a poorly cohesive type and increase code quality and maintainability, certainly you'll have to split the type into several smaller and more cohesive types that together, implement the same logic. The estimated Debt, which means the effort to fix such issue, varies linearly from 5 minutes for a type with a low poorCohesionScore, up to 4 hours for a type with high poorCohesionScore.
62 types matched
-
Formatting: bold means added, underlined means code was changed,
strike-boldmeans removed (since baseline)
62 types | Lack of Cohesion Of Methods (LCOM) | # Methods | # Fields | poorCohesionScore | Debt | Annual Interest | Full Name |
---|---|---|---|---|---|---|---|
QueryLoader![]() | 0.91 | 31 | 20 | 9.97 | 30min | 10min | NHibernate.Loader.Hql.QueryLoader |
SelectClause![]() | 0.88 | 25 | 11 | 7.96 | 20min | 7min | NHibernate.Hql.Ast.ANTLR.Tree .SelectClause |
AbstractEntityPersister | 0.99 | 324 | 88 | 44.18 | 3h 29min | 1h 9min | NHibernate.Persister.Entity .AbstractEntityPersister |
Dialect | 0.98 | 153 | 12 | 33.77 | 2h 35min | 51min | NHibernate.Dialect.Dialect |
Collection | 0.98 | 124 | 51 | 33.29 | 2h 32min | 51min | NHibernate.Mapping.Collection |
AbstractCollectionPersister | 0.98 | 154 | 90 | 30.33 | 2h 17min | 45min | NHibernate.Persister.Collection .AbstractCollectionPersister |
PersistentClass | 0.97 | 147 | 41 | 28.52 | 2h 7min | 42min | NHibernate.Mapping.PersistentClass |
ModelMapper | 0.97 | 168 | 43 | 28.19 | 2h 6min | 42min | NHibernate.Mapping.ByCode.ModelMapper |
Baz | 0.97 | 73 | 35 | 26.74 | 1h 58min | 39min | NHibernate.DomainModel.Baz |
EntityMetamodel | 0.97 | 66 | 52 | 22.67 | 1h 37min | 32min | NHibernate.Tuple.Entity.EntityMetamodel |
FakeModelExplicitDeclarationsHolder | 0.96 | 57 | 27 | 22.18 | 1h 34min | 31min | NHibernate.Mapping.ByCode .FakeModelExplicitDeclarationsHolder |
AbstractQueryImpl | 0.96 | 120 | 24 | 20.45 | 1h 25min | 28min | NHibernate.Impl.AbstractQueryImpl |
SingleTableEntityPersister | 0.96 | 59 | 39 | 19.88 | 1h 22min | 27min | NHibernate.Persister.Entity .SingleTableEntityPersister |
SessionImpl | 0.96 | 181 | 24 | 19.1 | 1h 18min | 26min | NHibernate.Impl.SessionImpl |
RootClass | 0.96 | 54 | 20 | 18.67 | 1h 16min | 25min | NHibernate.Mapping.RootClass |
BasicClass | 0.95 | 45 | 21 | 17.68 | 1h 11min | 23min | NHibernate.DomainModel.NHSpecific .BasicClass |
FromElement | 0.95 | 84 | 25 | 17.36 | 1h 9min | 23min | NHibernate.Hql.Ast.ANTLR.Tree .FromElement |
SimpleModelInspector | 0.95 | 129 | 27 | 17.17 | 1h 8min | 23min | NHibernate.Mapping.ByCode .SimpleModelInspector |
SessionFactoryImpl | 0.95 | 72 | 33 | 17.13 | 1h 8min | 23min | NHibernate.Impl.SessionFactoryImpl |
JoinWalker | 0.95 | 62 | 17 | 17.13 | 1h 8min | 23min | NHibernate.Loader.JoinWalker |
Configuration | 0.95 | 126 | 35 | 16.97 | 1h 7min | 22min | NHibernate.Cfg.Configuration |
CriteriaImpl | 0.95 | 69 | 26 | 16.62 | 1h 5min | 22min | NHibernate.Impl.CriteriaImpl |
EventListeners | 0.95 | 75 | 36 | 15.89 | 1h 1min | 20min | NHibernate.Event.EventListeners |
Mappings | 0.95 | 63 | 30 | 15.8 | 1h 1min | 20min | NHibernate.Cfg.Mappings |
ExplicitDeclarationsHolder | 0.95 | 56 | 27 | 15.73 | 1h 1min | 20min | NHibernate.Mapping.ByCode.Impl .ExplicitDeclarationsHolder |
Foo | 0.95 | 63 | 27 | 15.54 | 1h 0min | 20min | NHibernate.DomainModel.Foo |
JoinedSubclassEntityPersister | 0.94 | 42 | 24 | 15.25 | 58min | 19min | NHibernate.Persister.Entity .JoinedSubclassEntityPersister |
AbstractExplicitlyDeclaredModel | 0.94 | 72 | 31 | 14.89 | 56min | 19min | NHibernate.Mapping.ByCode .AbstractExplicitlyDeclaredModel |
Table | 0.94 | 72 | 20 | 14.53 | 54min | 18min | NHibernate.Mapping.Table |
Glarch | 0.94 | 35 | 14 | 14.04 | 52min | 17min | NHibernate.DomainModel.Glarch |
Join | 0.93 | 35 | 19 | 12.86 | 46min | 15min | NHibernate.Mapping.Join |
StatisticsImpl | 0.93 | 74 | 50 | 12.71 | 45min | 15min | NHibernate.Stat.StatisticsImpl |
AbstractDetachedQuery | 0.93 | 66 | 17 | 12.14 | 42min | 14min | NHibernate.Impl.AbstractDetachedQuery |
Property | 0.93 | 50 | 16 | 11.96 | 41min | 14min | NHibernate.Mapping.Property |
MultiQueryImpl | 0.92 | 66 | 19 | 11.66 | 39min | 13min | NHibernate.Impl.MultiQueryImpl |
Employee | 0.92 | 30 | 14 | 11.6 | 39min | 13min | NHibernate.DomainModel.Northwind .Entities.Employee |
CustomizersHolder | 0.92 | 55 | 25 | 11.29 | 37min | 12min | NHibernate.Mapping.ByCode.Impl .CustomizersHolder |
Component | 0.92 | 42 | 13 | 11.21 | 37min | 12min | NHibernate.Mapping.Component |
Qux | 0.92 | 32 | 13 | 11.19 | 37min | 12min | NHibernate.DomainModel.Qux |
StatefulPersistenceContext | 0.92 | 96 | 25 | 11.13 | 37min | 12min | NHibernate.Engine .StatefulPersistenceContext |
CriteriaQueryTranslator | 0.92 | 58 | 21 | 10.94 | 36min | 12min | NHibernate.Loader.Criteria .CriteriaQueryTranslator |
Product | 0.92 | 24 | 12 | 10.71 | 34min | 11min | NHibernate.DomainModel.Northwind .Entities.Product |
Column | 0.91 | 53 | 18 | 10.33 | 32min | 11min | NHibernate.Mapping.Column |
SimpleValue | 0.91 | 45 | 11 | 9.91 | 30min | 10min | NHibernate.Mapping.SimpleValue |
Order | 0.91 | 24 | 11 | 9.91 | 30min | 10min | NHibernate.DomainModel.Northwind .Entities.Order |
AbstractPersistentCollection | 0.9 | 75 | 13 | 9.05 | 26min | 9min | NHibernate.Collection .AbstractPersistentCollection |
AbstractBatcher | 0.9 | 40 | 15 | 8.71 | 24min | 8min | NHibernate.AdoNet.AbstractBatcher |
TableGenerator | 0.89 | 39 | 33 | 8.68 | 24min | 8min | NHibernate.Id.Enhanced.TableGenerator |
CustomLoader | 0.89 | 24 | 14 | 8.54 | 23min | 8min | NHibernate.Loader.Custom.CustomLoader |
GetSetHelper | 0.88 | 25 | 12 | 7.89 | 20min | 7min | NHibernate.DomainModel.NHSpecific .GetSetHelper |
SqlSelectBuilder | 0.88 | 18 | 11 | 7.56 | 18min | 6min | NHibernate.SqlCommand.SqlSelectBuilder |
FromClause | 0.88 | 33 | 11 | 7.43 | 17min | 6min | NHibernate.Hql.Ast.ANTLR.Tree.FromClause |
DotNode | 0.87 | 35 | 18 | 7.22 | 16min | 5min | NHibernate.Hql.Ast.ANTLR.Tree.DotNode |
MultiCriteriaImpl | 0.87 | 32 | 17 | 7.1 | 15min | 5min | NHibernate.Impl.MultiCriteriaImpl |
AbstractEntityTuplizer | 0.87 | 38 | 11 | 7.09 | 15min | 5min | NHibernate.Tuple.Entity .AbstractEntityTuplizer |
EntityEntry | 0.87 | 29 | 15 | 7.09 | 15min | 5min | NHibernate.Engine.EntityEntry |
CollectionEntry | 0.87 | 37 | 13 | 7 | 15min | 5min | NHibernate.Engine.CollectionEntry |
QueryTranslatorImpl | 0.86 | 30 | 12 | 6.69 | 13min | 4min 56s | NHibernate.Hql.Ast.ANTLR .QueryTranslatorImpl |
OuterJoinLoader | 0.86 | 14 | 11 | 6.54 | 13min | 4min 40s | NHibernate.Loader.OuterJoinLoader |
IntermediateHqlTree | 0.84 | 24 | 12 | 5.99 | 10min | 3min 42s | NHibernate.Linq.IntermediateHqlTree |
SqlClientSqlCommandSet | 0.84 | 12 | 11 | 5.94 | 9min | 3min 37s | NHibernate.AdoNet.SqlClientSqlCommandSet |
SQLQueryReturnProcessor | 0.83 | 18 | 13 | 5.52 | 7min | 2min 53s | NHibernate.Loader.Custom.Sql .SQLQueryReturnProcessor |
Code Smells Regression | 090 |
![]() | Rule Violated: From now, all types added should respect basic quality principles |
• How to Fix Issues: To refactor such type and increase code quality and maintainability, certainly you'll have to split the type into several smaller types that together, implement the same logic. Issues of this rule have a constant 10 minutes Debt, because the Debt, which means the effort to fix such issue, is already estimated for issues of rules in the category Code Smells. However issues of this rule have a Major severity, with even more interests for issues on new types since baseline, because the proper time to increase the quality of these types is now, before they get commited in the next production release.
1 type matched
-
Formatting: bold means added, underlined means code was changed,
strike-boldmeans removed (since baseline)
1 type | # lines of code (LOC) | instanceMethods | staticMethods | instanceFields | staticFields | TypesUsed | Debt | Annual Interest | Full Name |
---|---|---|---|---|---|---|---|---|---|
QueryLoader | 163 | 14 methods | no method | 20 fields | no field | 63 types | 10min | 1h 0min | NHibernate.Loader.Hql.QueryLoader |
![]() | Rule Violated: From now, all types added should be 100% covered by tests |
• How to Fix Issues: Write more unit-tests dedicated to cover code not covered yet. If you find some hard-to-test code, it is certainly a sign that this code is not well designed and hence, needs refactoring. You'll find code impossible to cover by unit-tests, like calls to MessageBox.Show(). An infrastructure must be defined to be able to mock such code at test-time. Issues of this rule have a constant 10 minutes Debt, because the Debt, which means the effort to write tests for the culprit type, is already estimated for issues in the category Code Coverage. However issues of this rule have a Major severity, with even more interests for issues on new types since baseline, because the proper time to write tests for these types is now, before they get commited in the next production release.
62 types matched
-
Formatting: bold means added, underlined means code was changed,
strike-boldmeans removed (since baseline)
62 types | Percentage Coverage | methodsCulprit | # lines of code (LOC) | Debt | Annual Interest | Full Name |
---|---|---|---|---|---|---|
OracleManagedDataClientDriver | 0% | 7 methods | 39 | 10min | 1h 0min | NHibernate.Driver .OracleManagedDataClientDriver |
AbstractQueryImpl2 | 86.84% | 1 method | 38 | 10min | 1h 0min | NHibernate.Impl.AbstractQueryImpl2 |
HqlTranslatorWrapper | 83.33% | 1 method | 6 | 10min | 1h 0min | NHibernate.Impl.HqlTranslatorWrapper |
SqlTranslator | 88.89% | 1 method | 9 | 10min | 1h 0min | NHibernate.Impl.SqlTranslator |
AfterTransactionCompletes | 0% | 2 methods | 3 | 10min | 1h 0min | NHibernate.Transaction .AfterTransactionCompletes |
AliasedTupleSubsetResultTransformer | 0% | 1 method | 11 | 10min | 1h 0min | NHibernate.Transform .AliasedTupleSubsetResultTransformer |
CacheableResultTransformer | 73.17% | 7 methods | 82 | 10min | 1h 0min | NHibernate.Transform .CacheableResultTransformer |
EnumeratorAdapter<T> | 0% | 5 methods | 9 | 10min | 1h 0min | NHibernate.Util.EnumeratorAdapter<T> |
JoinedEnumerable+JoinedEnumerator | 77.42% | 2 methods | 31 | 10min | 1h 0min | NHibernate.Util .JoinedEnumerable+JoinedEnumerator |
ObjectHelpers | 85.71% | 1 method | 7 | 10min | 1h 0min | NHibernate.Util.ObjectHelpers |
TypeExtensions | 70% | 3 methods | 10 | 10min | 1h 0min | NHibernate.Util.TypeExtensions |
CascadeStyle+CascadeStyleSingletonRefere nce | 75% | 1 method | 4 | 10min | 1h 0min | NHibernate.Engine .CascadeStyle+CascadeStyleSingletonRefer ence |
MySqlClientBatchingBatcher | 0% | 6 methods | 36 | 10min | 1h 0min | NHibernate.AdoNet .MySqlClientBatchingBatcher |
MySqlClientBatchingBatcherFactory | 0% | 1 method | 1 | 10min | 1h 0min | NHibernate.AdoNet .MySqlClientBatchingBatcherFactory |
MySqlClientSqlCommandSet | 0% | 5 methods | 21 | 10min | 1h 0min | NHibernate.AdoNet .MySqlClientSqlCommandSet |
PersistentGenericSet<T >+ClearDelayedOperation | 80% | 1 method | 5 | 10min | 1h 0min | NHibernate.Collection.Generic .PersistentGenericSet<T >+ClearDelayedOperation |
PersistentGenericSet<T >+SimpleAddDelayedOperation | 0% | 3 methods | 6 | 10min | 1h 0min | NHibernate.Collection.Generic .PersistentGenericSet<T >+SimpleAddDelayedOperation |
PersistentGenericSet<T >+SimpleRemoveDelayedOperation | 83.33% | 1 method | 6 | 10min | 1h 0min | NHibernate.Collection.Generic .PersistentGenericSet<T >+SimpleRemoveDelayedOperation |
PersistentGenericBag<T >+ClearDelayedOperation | 80% | 1 method | 5 | 10min | 1h 0min | NHibernate.Collection.Generic .PersistentGenericBag<T >+ClearDelayedOperation |
PersistentGenericList<T >+ClearDelayedOperation | 0% | 3 methods | 5 | 10min | 1h 0min | NHibernate.Collection.Generic .PersistentGenericList<T >+ClearDelayedOperation |
PersistentGenericList<T >+SimpleAddDelayedOperation | 0% | 3 methods | 6 | 10min | 1h 0min | NHibernate.Collection.Generic .PersistentGenericList<T >+SimpleAddDelayedOperation |
PersistentGenericList<T >+AddDelayedOperation | 0% | 3 methods | 7 | 10min | 1h 0min | NHibernate.Collection.Generic .PersistentGenericList<T >+AddDelayedOperation |
PersistentGenericList<T >+SetDelayedOperation | 0% | 3 methods | 8 | 10min | 1h 0min | NHibernate.Collection.Generic .PersistentGenericList<T >+SetDelayedOperation |
PersistentGenericList<T >+RemoveDelayedOperation | 0% | 3 methods | 7 | 10min | 1h 0min | NHibernate.Collection.Generic .PersistentGenericList<T >+RemoveDelayedOperation |
PersistentGenericList<T >+SimpleRemoveDelayedOperation | 0% | 3 methods | 6 | 10min | 1h 0min | NHibernate.Collection.Generic .PersistentGenericList<T >+SimpleRemoveDelayedOperation |
PersistentGenericMap<TKey,TValue >+ClearDelayedOperation | 0% | 3 methods | 5 | 10min | 1h 0min | NHibernate.Collection.Generic .PersistentGenericMap<TKey,TValue >+ClearDelayedOperation |
PersistentGenericMap<TKey,TValue >+PutDelayedOperation | 0% | 3 methods | 8 | 10min | 1h 0min | NHibernate.Collection.Generic .PersistentGenericMap<TKey,TValue >+PutDelayedOperation |
PersistentGenericMap<TKey,TValue >+RemoveDelayedOperation | 0% | 3 methods | 7 | 10min | 1h 0min | NHibernate.Collection.Generic .PersistentGenericMap<TKey,TValue >+RemoveDelayedOperation |
PersistentIdentifierBag<T >+SnapshotElement | 30.77% | 2 methods | 13 | 10min | 1h 0min | NHibernate.Collection.Generic .PersistentIdentifierBag<T >+SnapshotElement |
SetSnapShot<T> | 64% | 7 methods | 25 | 10min | 1h 0min | NHibernate.Collection.Generic.SetHelpers .SetSnapShot<T> |
BitwiseFunctionOperation | 6.45% | 11 methods | 31 | 10min | 1h 0min | NHibernate.Dialect .BitwiseFunctionOperation |
Ingres9Dialect | 78.57% | 3 methods | 14 | 10min | 1h 0min | NHibernate.Dialect.Ingres9Dialect |
BitwiseNativeOperation | 86.36% | 3 methods | 22 | 10min | 1h 0min | NHibernate.Dialect .BitwiseNativeOperation |
Oracle12cDialect | 87.5% | 1 method | 8 | 10min | 1h 0min | NHibernate.Dialect.Oracle12cDialect |
ParserHelper | 0% | 1 method | 1 | 10min | 1h 0min | NHibernate.Hql.ParserHelper |
HqlFilterPreprocessor | 78.26% | 2 methods | 23 | 10min | 1h 0min | NHibernate.Hql.Ast.ANTLR .HqlFilterPreprocessor |
ResultVariableRefNode | 36.84% | 3 methods | 19 | 10min | 1h 0min | NHibernate.Hql.Ast.ANTLR.Tree .ResultVariableRefNode |
ExpressionExtensions | 71.43% | 2 methods | 28 | 10min | 1h 0min | NHibernate.Linq.ExpressionExtensions |
QueryProviderFactory | 66.67% | 1 method | 3 | 10min | 1h 0min | NHibernate.Linq.QueryProviderFactory |
NhJoinClause | 64% | 1 method | 25 | 10min | 1h 0min | NHibernate.Linq.Clauses.NhJoinClause |
NhWithClause | 50% | 1 method | 2 | 10min | 1h 0min | NHibernate.Linq.Clauses.NhWithClause |
GroupKeyNominator | 91.3% | 1 method | 23 | 10min | 1h 0min | NHibernate.Linq.GroupBy .GroupKeyNominator |
ArrayIndexExpressionFlattener | 92.86% | 1 method | 14 | 10min | 1h 0min | NHibernate.Linq.ReWriters .ArrayIndexExpressionFlattener |
LeftJoinRewriter | 80% | 2 methods | 30 | 10min | 1h 0min | NHibernate.Linq.Visitors .LeftJoinRewriter |
SimplifyConditionalVisitor | 55.56% | 3 methods | 18 | 10min | 1h 0min | NHibernate.Linq.Visitors .SimplifyConditionalVisitor |
SubQueryFromClauseFlattener | 97.87% | 1 method | 47 | 10min | 1h 0min | NHibernate.Linq.Visitors .SubQueryFromClauseFlattener |
QueryLoader | 96.93% | 3 methods | 163 | 10min | 1h 0min | NHibernate.Loader.Hql.QueryLoader |
ReferenceDependantValue | 91.67% | 1 method | 12 | 10min | 1h 0min | NHibernate.Mapping .ReferenceDependantValue |
UUIDStringGeneratorDef | 50% | 2 methods | 4 | 10min | 1h 0min | NHibernate.Mapping.ByCode .UUIDStringGeneratorDef |
UUIDHexGeneratorDef | 66.67% | 2 methods | 15 | 10min | 1h 0min | NHibernate.Mapping.ByCode .UUIDHexGeneratorDef |
TriggerIdentityGeneratorDef | 50% | 2 methods | 4 | 10min | 1h 0min | NHibernate.Mapping.ByCode .TriggerIdentityGeneratorDef |
TableHiLoGeneratorDef | 0% | 4 methods | 4 | 10min | 1h 0min | NHibernate.Mapping.ByCode .TableHiLoGeneratorDef |
TableGeneratorDef | 50% | 2 methods | 4 | 10min | 1h 0min | NHibernate.Mapping.ByCode .TableGeneratorDef |
SequenceIdentityGeneratorDef | 50% | 2 methods | 4 | 10min | 1h 0min | NHibernate.Mapping.ByCode .SequenceIdentityGeneratorDef |
SequenceHiLoGeneratorDef | 50% | 2 methods | 4 | 10min | 1h 0min | NHibernate.Mapping.ByCode .SequenceHiLoGeneratorDef |
SelectGeneratorDef | 50% | 2 methods | 4 | 10min | 1h 0min | NHibernate.Mapping.ByCode .SelectGeneratorDef |
NativeGuidGeneratorDef | 0% | 4 methods | 4 | 10min | 1h 0min | NHibernate.Mapping.ByCode .NativeGuidGeneratorDef |
IncrementGeneratorDef | 50% | 2 methods | 4 | 10min | 1h 0min | NHibernate.Mapping.ByCode .IncrementGeneratorDef |
CounterGeneratorDef | 50% | 2 methods | 4 | 10min | 1h 0min | NHibernate.Mapping.ByCode .CounterGeneratorDef |
EnhancedSequenceGeneratorDef | 75% | 1 method | 4 | 10min | 1h 0min | NHibernate.Mapping.ByCode .EnhancedSequenceGeneratorDef |
EnhancedTableGeneratorDef | 75% | 1 method | 4 | 10min | 1h 0min | NHibernate.Mapping.ByCode .EnhancedTableGeneratorDef |
BackTrackCacheParameterList | 46.51% | 6 methods | 43 | 10min | 1h 0min | NHibernate.SqlCommand .BackTrackCacheParameterList |
![]() | Rule Violated: From now, all methods added should respect basic quality principles |
• How to Fix Issues: To refactor such method and increase code quality and maintainability, certainly you'll have to split the method into several smaller methods or even create one or several classes to implement the logic. During this process it is important to question the scope of each variable local to the method. This can be an indication if such local variable will become an instance field of the newly created class(es). Large switch…case structures might be refactored through the help of a set of types that implement a common interface, the interface polymorphism playing the role of the switch cases tests. Unit Tests can help: write tests for each method before extracting it to ensure you don't break functionality. Issues of this rule have a constant 5 minutes Debt, because the Debt, which means the effort to fix such issue, is already estimated for issues of rules in the category Code Smells. However issues of this rule have a Major severity, with even more interests for issues on new methods since baseline, because the proper time to increase the quality of these methods is now, before they get commited in the next production release.
27 methods matched
-
Formatting: bold means added, underlined means code was changed,
strike-boldmeans removed (since baseline)
27 methods | # lines of code (LOC) | # IL instructions | Cyclomatic Complexity (CC) | IL Cyclomatic Complexity (ILCC) | IL Nesting Depth | # Parameters | # Variables | # Overloads | Debt | Annual Interest | Full Name |
---|---|---|---|---|---|---|---|---|---|---|---|
List<T>(IQueryExpression,QueryParameters ) | 4 | 30 | 1 | 3 | 2 | 2 | 1 | 12 | 5min | 1h 0min | NHibernate.Impl.AbstractSessionImpl.List <T>(IQueryExpression,QueryParameters) |
.ctor(IDbConnection,SessionFactoryImpl ,Boolean,Int64,IInterceptor,EntityMode ,Boolean,Boolean,Boolean ,ConnectionReleaseMode,FlushMode) | 27 | 152 | 4 | 6 | 2 | 11 | 0 | 3 | 5min | 1h 0min | NHibernate.Impl.SessionImpl..ctor (IDbConnection,SessionFactoryImpl ,Boolean,Int64,IInterceptor,EntityMode ,Boolean,Boolean,Boolean ,ConnectionReleaseMode,FlushMode) |
.ctor(String,String,Boolean,Boolean ,Boolean,Boolean,Boolean) | 3 | 19 | 1 | 1 | 0 | 7 | 0 | 3 | 5min | 1h 0min | NHibernate.Type.ManyToOneType..ctor (String,String,Boolean,Boolean,Boolean ,Boolean,Boolean) |
ManyToOne(String,String,Boolean,Boolean ,Boolean,Boolean,Boolean) | 1 | 13 | 1 | 1 | 0 | 7 | 0 | 3 | 5min | 1h 0min | NHibernate.Type.TypeFactory.ManyToOne (String,String,Boolean,Boolean,Boolean ,Boolean,Boolean) |
Render(StringBuilder,String,IDictionary <String,String>,IDictionary<String ,IFilter>) | 11 | 78 | 6 | 7 | 5 | 4 | 3 | 3 | 5min | 1h 0min | NHibernate.Util.FilterHelper.Render (StringBuilder,String,IDictionary<String ,String>,IDictionary<String,IFilter>) |
CascadeProperty(Object,Object,IType ,CascadeStyle,String,Object,Boolean) | 17 | 153 | 13 | 18 | 4 | 7 | 4 | 1 | 5min | 1h 0min | NHibernate.Engine.Cascade .CascadeProperty(Object,Object,IType ,CascadeStyle,String,Object,Boolean) |
List(IQueryExpression,QueryParameters ,IList) | N/A | N/A | N/A | N/A | N/A | 3 | N/A | 12 | 5min | 1h 0min | NHibernate.Engine.ISessionImplementor .List(IQueryExpression,QueryParameters ,IList) |
List<T>(IQueryExpression,QueryParameters ) | N/A | N/A | N/A | N/A | N/A | 2 | N/A | 12 | 5min | 1h 0min | NHibernate.Engine.ISessionImplementor .List<T>(IQueryExpression ,QueryParameters) |
GetCollectionBatch(ICollectionPersister ,Object,Int32) | 24 | 160 | 10 | 16 | 5 | 3 | 8 | 1 | 5min | 1h 0min | NHibernate.Engine.BatchFetchQueue .GetCollectionBatch(ICollectionPersister ,Object,Int32) |
GetEntityBatch(IEntityPersister,Object ,Int32) | 21 | 138 | 9 | 15 | 5 | 3 | 5 | 1 | 5min | 1h 0min | NHibernate.Engine.BatchFetchQueue .GetEntityBatch(IEntityPersister,Object ,Int32) |
AfterInitialize(ICollectionPersister) | 28 | 185 | 11 | 23 | 5 | 1 | 5 | 1 | 5min | 1h 0min | NHibernate.Collection.Generic .PersistentGenericBag<T>.AfterInitialize (ICollectionPersister) |
OnDelete(DeleteEvent,ISet<Object>) | 31 | 210 | 9 | 12 | 2 | 2 | 8 | 2 | 5min | 1h 0min | NHibernate.Event.Default .DefaultDeleteEventListener.OnDelete (DeleteEvent,ISet<Object>) |
DeleteEntity(IEventSource,Object ,EntityEntry,Boolean,IEntityPersister ,ISet<Object>) | 19 | 137 | 3 | 4 | 1 | 6 | 6 | 1 | 5min | 1h 0min | NHibernate.Event.Default .DefaultDeleteEventListener.DeleteEntity (IEventSource,Object,EntityEntry,Boolean ,IEntityPersister,ISet<Object>) |
GetColumnsToTableAliasMap(String) | 22 | 140 | 7 | 10 | 2 | 1 | 9 | 1 | 5min | 1h 0min | NHibernate.Persister.Entity .AbstractEntityPersister .GetColumnsToTableAliasMap(String) |
ProcessGeneratedPropertiesWithGeneratedS ql(Object,Object,Object[] ,ISessionImplementor,SqlString ,ValueInclusion[]) | 18 | 170 | 5 | 9 | 2 | 6 | 6 | 1 | 5min | 1h 0min | NHibernate.Persister.Entity .AbstractEntityPersister .ProcessGeneratedPropertiesWithGenerated Sql(Object,Object,Object[] ,ISessionImplementor,SqlString ,ValueInclusion[]) |
.ctor(String,Type,Object,MethodInfo ,MethodInfo,IAbstractComponentType ,ISessionImplementor,Boolean) | 1 | 14 | 1 | 1 | 0 | 8 | 0 | 1 | 5min | 1h 0min | NHibernate.Proxy.DefaultLazyInitializer. .ctor(String,Type,Object,MethodInfo ,MethodInfo,IAbstractComponentType ,ISessionImplementor,Boolean) |
.ctor(String,Type,Object,MethodInfo ,MethodInfo,IAbstractComponentType ,ISessionImplementor,Boolean) | 6 | 24 | 1 | 1 | 0 | 8 | 0 | 1 | 5min | 1h 0min | NHibernate.Proxy.Poco .BasicLazyInitializer..ctor(String,Type ,Object,MethodInfo,MethodInfo ,IAbstractComponentType ,ISessionImplementor,Boolean) |
.ctor() | 2 | 509 | 1 | 1 | 0 | 0 | 0 | 1 | 5min | 1h 0min | NHibernate.Linq.Functions .ConvertToInt32Generator..ctor() |
.ctor() | 2 | 478 | 1 | 1 | 0 | 0 | 0 | 1 | 5min | 1h 0min | NHibernate.Linq.Functions .ConvertToDecimalGenerator..ctor() |
.ctor() | 2 | 478 | 1 | 1 | 0 | 0 | 0 | 1 | 5min | 1h 0min | NHibernate.Linq.Functions .ConvertToDoubleGenerator..ctor() |
FlattenSubQuery(QueryModel,QueryModel ,GroupResultOperator) | 27 | 211 | 8 | 18 | 2 | 3 | 6 | 1 | 5min | 1h 0min | NHibernate.Linq.GroupBy .AggregatingGroupByRewriter .FlattenSubQuery(QueryModel,QueryModel ,GroupResultOperator) |
IsDynamicComponentDictionaryGetter (MethodInfo,Expression,IEnumerable <Expression>,ISessionFactory,String&) | 29 | 189 | 15 | 21 | 5 | 5 | 9 | 3 | 5min | 1h 0min | NHibernate.Linq.Visitors.VisitorUtil .IsDynamicComponentDictionaryGetter (MethodInfo,Expression,IEnumerable <Expression>,ISessionFactory,String&) |
GetRowFromResultSet(IDataReader ,ISessionImplementor,QueryParameters ,LockMode[],EntityKey,IList,EntityKey[] ,Boolean,IResultTransformer) | 19 | 147 | 7 | 11 | 3 | 9 | 6 | 2 | 5min | 1h 0min | NHibernate.Loader.Loader .GetRowFromResultSet(IDataReader ,ISessionImplementor,QueryParameters ,LockMode[],EntityKey,IList,EntityKey[] ,Boolean,IResultTransformer) |
DoQuery(ISessionImplementor ,QueryParameters,Boolean ,IResultTransformer) | 36 | 240 | 12 | 20 | 2 | 4 | 15 | 1 | 5min | 1h 0min | NHibernate.Loader.Loader.DoQuery (ISessionImplementor,QueryParameters ,Boolean,IResultTransformer) |
InitStatementString(SqlString,SqlString ,SqlString,SqlString,SqlString,LockMode) | 8 | 103 | 3 | 3 | 1 | 6 | 4 | 2 | 5min | 1h 0min | NHibernate.Loader .AbstractEntityJoinWalker .InitStatementString(SqlString,SqlString ,SqlString,SqlString,SqlString,LockMode) |
Initialize(SelectClause) | 52 | 319 | 13 | 18 | 4 | 1 | 8 | 1 | 5min | 1h 0min | NHibernate.Loader.Hql.QueryLoader .Initialize(SelectClause) |
Column(Action<IColumnMapper>) | 10 | 136 | 16 | 13 | 8 | 1 | 2 | 2 | 5min | 1h 0min | NHibernate.Mapping.ByCode.Impl.IdMapper .Column(Action<IColumnMapper>) |
![]() | Rule Violated: Avoid decreasing code coverage by tests of types |
• How to Fix Issues: Write more unit-tests dedicated to cover changes in matched types not covered yet. If you find some hard-to-test code, it is certainly a sign that this code is not well designed and hence, needs refactoring. The estimated Debt, which means the effort to cover by test code that used to be covered, varies linearly 15 minutes to 3 hours, depending on the number of lines of code that are not covered by tests anymore. Severity of issues of this rule varies from Major to Critical depending on the number of lines of code that are not covered by tests anymore. Because the loss in code coverage happened since the baseline, the severity is high because it is important to focus on these issues now, before such code gets released in production.
29 types matched
-
Formatting: bold means added, underlined means code was changed,
strike-boldmeans removed (since baseline)
29 types | OldCoveragePercent | NewCoveragePercent | OldLoc | NewLoc | uncoveredLoc | Debt | Annual Interest | Full Name |
---|---|---|---|---|---|---|---|---|
QuerySelect | 85.16 | 0 | 128 | 128 | 109 | 3h 0min | 4h 0min | NHibernate.SqlCommand.QuerySelect |
QuerySplitter | 94.34 | 0 | 53 | 53 | 50 | 1h 36min | 4h 0min | NHibernate.Hql.QuerySplitter |
JoinSequence | 74 | 65 | 100 | 100 | 9 | 28min | 55min | NHibernate.Engine.JoinSequence |
SqlString | 73.45 | 71.76 | 339 | 340 | 5 | 21min | 37min | NHibernate.SqlCommand.SqlString |
ActionQueue+BeforeTransactionCompletionP rocessQueue | 72.22 | 50 | 18 | 18 | 4 | 20min | 33min | NHibernate.Engine .ActionQueue+BeforeTransactionCompletion ProcessQueue |
HibernateConfiguration | 94.87 | 84.62 | 39 | 39 | 4 | 20min | 33min | NHibernate.Cfg.ConfigurationSchema .HibernateConfiguration |
MergeEvent | 90 | 70 | 20 | 20 | 4 | 20min | 33min | NHibernate.Event.MergeEvent |
SoftLimitMRUCache | 95.83 | 83.33 | 24 | 24 | 3 | 18min | 28min | NHibernate.Util.SoftLimitMRUCache |
SessionFactoryHelper | 43.18 | 36.36 | 44 | 44 | 3 | 18min | 28min | NHibernate.Hql.Util.SessionFactoryHelper |
ClassicAggregateFunction | 80 | 72 | 25 | 25 | 2 | 16min | 24min | NHibernate.Dialect.Function .ClassicAggregateFunction |
CastFunction | 80.95 | 71.43 | 21 | 21 | 2 | 16min | 24min | NHibernate.Dialect.Function.CastFunction |
CommonGrammar | 100 | 0 | 2 | 2 | 2 | 16min | 24min | NHibernate.Dialect.Function .CommonGrammar |
DefaultMergeEventListener | 87.32 | 86.34 | 205 | 205 | 2 | 16min | 24min | NHibernate.Event.Default .DefaultMergeEventListener |
CascadeExtensions | 100 | 81.82 | 11 | 11 | 2 | 16min | 24min | NHibernate.Mapping.ByCode .CascadeExtensions |
SqlStringBuilder | 84.85 | 81.82 | 66 | 66 | 2 | 16min | 24min | NHibernate.SqlCommand.SqlStringBuilder |
PocoInstantiator | 70 | 63.41 | 40 | 41 | 2 | 16min | 24min | NHibernate.Tuple.PocoInstantiator |
ComponentType | 82.69 | 82.37 | 312 | 312 | 1 | 15min | 20min | NHibernate.Type.ComponentType |
WeakRefWrapper | 100 | 94.74 | 19 | 19 | 1 | 15min | 20min | NHibernate.Util.WeakRefWrapper |
WeakHashtable | 72.73 | 69.7 | 33 | 33 | 1 | 15min | 20min | NHibernate.Util.WeakHashtable |
QueryPlanCache+HQLQueryPlanKey | 81.48 | 77.78 | 27 | 27 | 1 | 15min | 20min | NHibernate.Engine.Query .QueryPlanCache+HQLQueryPlanKey |
Expectations+NoneExpectation | 100 | 50 | 2 | 2 | 1 | 15min | 20min | NHibernate.AdoNet .Expectations+NoneExpectation |
SQLFunctionTemplate | 97.3 | 94.59 | 37 | 37 | 1 | 15min | 20min | NHibernate.Dialect.Function .SQLFunctionTemplate |
HqlExpressionSubTreeHolder | 100 | 50 | 2 | 2 | 1 | 15min | 20min | NHibernate.Hql.Ast .HqlExpressionSubTreeHolder |
CollectionPropertyMapping | 39.13 | 36.96 | 46 | 46 | 1 | 15min | 20min | NHibernate.Persister.Collection .CollectionPropertyMapping |
NHibernateNodeTypeProvider | 100 | 93.75 | 16 | 16 | 1 | 15min | 20min | NHibernate.Linq .NHibernateNodeTypeProvider |
ResultTransformer | 92 | 88 | 25 | 25 | 1 | 15min | 20min | NHibernate.Linq.ResultTransformer |
HqlGeneratorExpressionTreeVisitor | 74.83 | 73.65 | 147 | 148 | 1 | 15min | 20min | NHibernate.Linq.Visitors .HqlGeneratorExpressionTreeVisitor |
List | 100 | 87.5 | 8 | 8 | 1 | 15min | 20min | NHibernate.Mapping.List |
PropertyPath | 80 | 76 | 25 | 25 | 1 | 15min | 20min | NHibernate.Mapping.ByCode.PropertyPath |
![]() | Rule Violated: Avoid making complex methods even more complex |
• How to Fix Issues: A large and complex method should be split in smaller methods, or even one or several classes can be created for that. During this process it is important to question the scope of each variable local to the method. This can be an indication if such local variable will become an instance field of the newly created class(es). Large switch…case structures might be refactored through the help of a set of types that implement a common interface, the interface polymorphism playing the role of the switch cases tests. Unit Tests can help: write tests for each method before extracting it to ensure you don't break functionality. The estimated Debt, which means the effort to fix such issue, varies linearly from 15 to 60 minutes depending on the extra complexity added. Issues of this rule have a Major severity, because it is important to focus on these issues now, before such code gets released in production.
27 methods matched
-
Formatting: bold means added, underlined means code was changed,
strike-boldmeans removed (since baseline)
27 methods | oldComplexityScore | complexityScore | diff | Debt | Annual Interest | Full Name |
---|---|---|---|---|---|---|
.cctor() | 16 | 51 | 35 | 46min | 1h 1min | NHibernate.Impl.ExpressionProcessor. .cctor() |
GenerateTableAlias(Int32,String ,IJoinable) | 20 | 39 | 19 | 31min | 42min | NHibernate.Loader.Criteria .CriteriaJoinWalker.GenerateTableAlias (Int32,String,IJoinable) |
.ctor(PersistentClass ,ICacheConcurrencyStrategy ,ISessionFactoryImplementor,IMapping) | 82 | 100 | 18 | 30min | 40min | NHibernate.Persister.Entity .SingleTableEntityPersister..ctor (PersistentClass ,ICacheConcurrencyStrategy ,ISessionFactoryImplementor,IMapping) |
VisitConstantExpression (ConstantExpression) | 21 | 31 | 10 | 23min | 31min | NHibernate.Linq.Visitors .ExpressionKeyVisitor .VisitConstantExpression (ConstantExpression) |
SetDefaultParameterSize(IDbDataParameter ,SqlType) | 35 | 43 | 8 | 21min | 28min | NHibernate.Driver.SqlClientDriver .SetDefaultParameterSize (IDbDataParameter,SqlType) |
Intercept(Object,String,Object) | 18 | 26 | 8 | 21min | 28min | NHibernate.Intercept .AbstractFieldInterceptor.Intercept (Object,String,Object) |
FindMemberExpression(Expression) | 40 | 47 | 7 | 20min | 27min | NHibernate.Impl.ExpressionProcessor .FindMemberExpression(Expression) |
ApplyLocks(SqlString,IDictionary<String ,LockMode>,Dialect) | 25 | 32 | 7 | 20min | 27min | NHibernate.Loader.Criteria .CriteriaLoader.ApplyLocks(SqlString ,IDictionary<String,LockMode>,Dialect) |
.ctor(Collection ,ICacheConcurrencyStrategy,Configuration ,ISessionFactoryImplementor) | 80 | 86 | 6 | 19min | 26min | NHibernate.Persister.Collection .AbstractCollectionPersister..ctor (Collection,ICacheConcurrencyStrategy ,Configuration ,ISessionFactoryImplementor) |
get_DataType() | 27 | 31 | 4 | 17min | 23min | NHibernate.Hql.Ast.ANTLR.Tree.CaseNode .get_DataType() |
VisitExpression(Expression) | 31 | 35 | 4 | 17min | 23min | NHibernate.Linq.Visitors .SelectClauseHqlNominator .VisitExpression(Expression) |
GetRecursiveProperty(String,IEnumerable <Property>) | 37 | 41 | 4 | 17min | 23min | NHibernate.Mapping.PersistentClass .GetRecursiveProperty(String,IEnumerable <Property>) |
DropTemporaryTableIfNecessary(IQueryable ,ISessionImplementor) | 25 | 28 | 3 | 16min | 22min | NHibernate.Hql.Ast.ANTLR.Exec .AbstractStatementExecutor .DropTemporaryTableIfNecessary (IQueryable,ISessionImplementor) |
ExpandParameters(IDictionary<String ,TypedValue>) | 29 | 31 | 2 | 15min | 21min | NHibernate.Impl.ExpressionQueryImpl .ExpandParameters(IDictionary<String ,TypedValue>) |
DoList() | 46 | 48 | 2 | 15min | 21min | NHibernate.Impl.MultiQueryImpl.DoList() |
ToSqlString(ICriteria,ICriteriaQuery ,IDictionary<String,IFilter>) | 26 | 28 | 2 | 15min | 21min | NHibernate.Criterion.SubqueryExpression .ToSqlString(ICriteria,ICriteriaQuery ,IDictionary<String,IFilter>) |
Delete(Object,Object,Int32,Object ,SqlCommandInfo,ISessionImplementor ,Object[]) | 46 | 48 | 2 | 15min | 21min | NHibernate.Persister.Entity .AbstractEntityPersister.Delete(Object ,Object,Int32,Object,SqlCommandInfo ,ISessionImplementor,Object[]) |
VisitExpression(Expression) | 68 | 70 | 2 | 15min | 21min | NHibernate.Linq.Visitors .HqlGeneratorExpressionTreeVisitor .VisitExpression(Expression) |
CompileMappingFor(IEnumerable<Type>) | 26 | 28 | 2 | 15min | 21min | NHibernate.Mapping.ByCode.ModelMapper .CompileMappingFor(IEnumerable<Type>) |
GetCollection(Object,ISessionImplementor ,Object) | 26 | 27 | 1 | 15min | 20min | NHibernate.Type.CollectionType .GetCollection(Object ,ISessionImplementor,Object) |
Put(CacheKey,Object,Int64,Object ,IComparer,Boolean) | 26 | 27 | 1 | 15min | 20min | NHibernate.Cache.ReadWriteCache.Put (CacheKey,Object,Int64,Object,IComparer ,Boolean) |
DereferenceEntity(EntityType,Boolean ,String,Boolean,IASTNode) | 32 | 33 | 1 | 15min | 20min | NHibernate.Hql.Ast.ANTLR.Tree.DotNode .DereferenceEntity(EntityType,Boolean ,String,Boolean,IASTNode) |
Create(IToken) | 118 | 119 | 1 | 15min | 20min | NHibernate.Hql.Ast.ANTLR.Tree .HqlSqlWalkerTreeAdaptor.Create(IToken) |
Insert(Object,Object[],Boolean[],Int32 ,SqlCommandInfo,Object ,ISessionImplementor) | 31 | 32 | 1 | 15min | 20min | NHibernate.Persister.Entity .AbstractEntityPersister.Insert(Object ,Object[],Boolean[],Int32,SqlCommandInfo ,Object,ISessionImplementor) |
UpdateOrInsert(Object,Object[],Object[] ,Object,Boolean[],Int32,Object,Object ,SqlCommandInfo,ISessionImplementor) | 28 | 29 | 1 | 15min | 20min | NHibernate.Persister.Entity .AbstractEntityPersister.UpdateOrInsert (Object,Object[],Object[],Object ,Boolean[],Int32,Object,Object ,SqlCommandInfo,ISessionImplementor) |
CreateProxyType(Type,Type[]) | 20 | 21 | 1 | 15min | 20min | NHibernate.Proxy.DynamicProxy .ProxyFactory.CreateProxyType(Type ,Type[]) |
MapSplitProperties(Type,IEnumerable <MemberInfo>,IJoinMapper) | 27 | 28 | 1 | 15min | 20min | NHibernate.Mapping.ByCode.ModelMapper .MapSplitProperties(Type,IEnumerable <MemberInfo>,IJoinMapper) |
![]() | Rule Violated: Avoid making large methods even larger |
• How to Fix Issues: Usually too big methods should be split in smaller methods. But long methods with no branch conditions, that typically initialize some data, are not necessarily a problem to maintain, and might not need refactoring. The estimated Debt, which means the effort to fix such issue, varies linearly from 5 to 20 minutes depending on the number of lines of code added. The estimated Debt, which means the effort to fix such issue, varies linearly from 10 to 60 minutes depending on the extra complexity added. Issues of this rule have a Major severity, because it is important to focus on these issues now, before such code gets released in production.
29 methods matched
-
Formatting: bold means added, underlined means code was changed,
strike-boldmeans removed (since baseline)
29 methods | oldLoc | newLoc | diff | Debt | Annual Interest | Full Name |
---|---|---|---|---|---|---|
BuildSettings(IDictionary<String,String> ) | 139 | 150 | 11 | 15min | 26min | NHibernate.Cfg.SettingsFactory .BuildSettings(IDictionary<String,String >) |
BindJoin(HbmJoin,Join,IDictionary<String ,MetaAttribute>) | 20 | 31 | 11 | 15min | 26min | NHibernate.Cfg.XmlHbmBinding.ClassBinder .BindJoin(HbmJoin,Join,IDictionary <String,MetaAttribute>) |
GenerateHqlQuery(QueryModel ,VisitorParameters,Boolean) | 16 | 24 | 8 | 13min | 24min | NHibernate.Linq.Visitors .QueryModelVisitor.GenerateHqlQuery (QueryModel,VisitorParameters,Boolean) |
ListUsingQueryCache() | 23 | 30 | 7 | 13min | 23min | NHibernate.Impl.MultiCriteriaImpl .ListUsingQueryCache() |
VisitExpression(Expression) | 19 | 26 | 7 | 13min | 23min | NHibernate.Linq.Visitors .SelectClauseHqlNominator .VisitExpression(Expression) |
ExpandParameters(IDictionary<String ,TypedValue>) | 36 | 40 | 4 | 11min | 21min | NHibernate.Impl.ExpressionQueryImpl .ExpandParameters(IDictionary<String ,TypedValue>) |
RegisterFunctions() | 70 | 74 | 4 | 11min | 21min | NHibernate.Dialect.Oracle8iDialect .RegisterFunctions() |
CreatePrimaryKey() | 17 | 21 | 4 | 11min | 21min | NHibernate.Mapping.Set.CreatePrimaryKey( ) |
EnlistInDistributedTransactionIfNeeded (ISessionImplementor) | 20 | 23 | 3 | 11min | 21min | NHibernate.Transaction .AdoNetWithDistributedTransactionFactory .EnlistInDistributedTransactionIfNeeded (ISessionImplementor) |
FindMemberExpression(Expression) | 29 | 31 | 2 | 10min | 20min | NHibernate.Impl.ExpressionProcessor .FindMemberExpression(Expression) |
DoList() | 65 | 67 | 2 | 10min | 20min | NHibernate.Impl.MultiQueryImpl.DoList() |
GetCollection(Object,ISessionImplementor ,Object) | 20 | 22 | 2 | 10min | 20min | NHibernate.Type.CollectionType .GetCollection(Object ,ISessionImplementor,Object) |
Create(IToken) | 75 | 77 | 2 | 10min | 20min | NHibernate.Hql.Ast.ANTLR.Tree .HqlSqlWalkerTreeAdaptor.Create(IToken) |
DropTemporaryTableIfNecessary(IQueryable ,ISessionImplementor) | 17 | 19 | 2 | 10min | 20min | NHibernate.Hql.Ast.ANTLR.Exec .AbstractStatementExecutor .DropTemporaryTableIfNecessary (IQueryable,ISessionImplementor) |
Delete(Object,Object,Int32,Object ,SqlCommandInfo,ISessionImplementor ,Object[]) | 43 | 45 | 2 | 10min | 20min | NHibernate.Persister.Entity .AbstractEntityPersister.Delete(Object ,Object,Int32,Object,SqlCommandInfo ,ISessionImplementor,Object[]) |
GetRecursiveProperty(String,IEnumerable <Property>) | 21 | 23 | 2 | 10min | 20min | NHibernate.Mapping.PersistentClass .GetRecursiveProperty(String,IEnumerable <Property>) |
MapSplitProperties(Type,IEnumerable <MemberInfo>,IJoinMapper) | 28 | 30 | 2 | 10min | 20min | NHibernate.Mapping.ByCode.ModelMapper .MapSplitProperties(Type,IEnumerable <MemberInfo>,IJoinMapper) |
AddAll(IList,IList) | 16 | 17 | 1 | 10min | 20min | NHibernate.Util.ArrayHelper.AddAll(IList ,IList) |
CascadeOn(IEntityPersister,Object,Object ) | 17 | 18 | 1 | 10min | 20min | NHibernate.Engine.Cascade.CascadeOn (IEntityPersister,Object,Object) |
HandleJoinedSubclass(PersistentClass ,HbmJoinedSubclass,IDictionary<String ,MetaAttribute>) | 20 | 21 | 1 | 10min | 20min | NHibernate.Cfg.XmlHbmBinding .JoinedSubclassBinder .HandleJoinedSubclass(PersistentClass ,HbmJoinedSubclass,IDictionary<String ,MetaAttribute>) |
RegisterFunctions() | 56 | 57 | 1 | 10min | 20min | NHibernate.Dialect.MsSql2000Dialect .RegisterFunctions() |
ResolveCollectionProperty(IASTNode) | 17 | 18 | 1 | 10min | 20min | NHibernate.Hql.Ast.ANTLR.Tree.MethodNode .ResolveCollectionProperty(IASTNode) |
Dehydrate(Object,Object[],Object ,Boolean[],Boolean[][],Int32,IDbCommand ,ISessionImplementor,Int32) | 16 | 17 | 1 | 10min | 20min | NHibernate.Persister.Entity .AbstractEntityPersister.Dehydrate (Object,Object[],Object,Boolean[] ,Boolean[][],Int32,IDbCommand ,ISessionImplementor,Int32) |
Insert(Object,Object[],Boolean[],Int32 ,SqlCommandInfo,Object ,ISessionImplementor) | 25 | 26 | 1 | 10min | 20min | NHibernate.Persister.Entity .AbstractEntityPersister.Insert(Object ,Object[],Boolean[],Int32,SqlCommandInfo ,Object,ISessionImplementor) |
Recreate(IPersistentCollection,Object ,ISessionImplementor) | 26 | 27 | 1 | 10min | 20min | NHibernate.Persister.Collection .AbstractCollectionPersister.Recreate (IPersistentCollection,Object ,ISessionImplementor) |
Configure(IType,IDictionary<String ,String>,Dialect) | 21 | 22 | 1 | 10min | 20min | NHibernate.Id.IncrementGenerator .Configure(IType,IDictionary<String ,String>,Dialect) |
VisitExpression(Expression) | 32 | 33 | 1 | 10min | 20min | NHibernate.Linq.Visitors .HqlGeneratorExpressionTreeVisitor .VisitExpression(Expression) |
GetTopologicalSortOrder(List <JoinWalker+DependentAlias>) | 17 | 18 | 1 | 10min | 20min | NHibernate.Loader.JoinWalker .GetTopologicalSortOrder(List <JoinWalker+DependentAlias>) |
Merge(IModelExplicitDeclarationsHolder ,IModelExplicitDeclarationsHolder) | 32 | 33 | 1 | 10min | 20min | NHibernate.Mapping.ByCode .ModelExplicitDeclarationsHolderExtensio ns.Merge (IModelExplicitDeclarationsHolder ,IModelExplicitDeclarationsHolder) |
![]() | Rule Violated: Avoid adding methods to a type that already had many methods |
• How to Fix Issues: To refactor such type and increase code quality and maintainability, certainly you'll have to split the type into several smaller types that together, implement the same logic. The estimated Debt, which means the effort to fix such issue, is equal to 10 minutes per method added. Issues of this rule have a Major severity, because it is important to focus on these issues now, before such code gets released in production.
28 types matched
-
Formatting: bold means added, underlined means code was changed,
strike-boldmeans removed (since baseline)
28 types | nbOldMethods | nbNewMethods | addedMethods | removedMethods | Debt | Annual Interest | Full Name |
---|---|---|---|---|---|---|---|
AbstractEntityPersister | 312 | 322 | 11 methods | 1 method | 1h 50min | 9min | NHibernate.Persister.Entity .AbstractEntityPersister |
Loader | 79 | 89 | 11 methods | 1 method | 1h 50min | 9min | NHibernate.Loader.Loader |
ProjectionsExtensions | 44 | 48 | 10 methods | 6 methods | 1h 40min | 9min | NHibernate.Criterion .ProjectionsExtensions |
AbstractSessionImpl | 85 | 93 | 8 methods | no method | 1h 20min | 7min | NHibernate.Impl.AbstractSessionImpl |
ISessionImplementor | 68 | 76 | 8 methods | no method | 1h 20min | 7min | NHibernate.Engine.ISessionImplementor |
SingleTableEntityPersister | 50 | 57 | 7 methods | no method | 1h 10min | 6min | NHibernate.Persister.Entity .SingleTableEntityPersister |
SimpleModelInspector | 125 | 128 | 6 methods | 3 methods | 1h 0min | 5min | NHibernate.Mapping.ByCode .SimpleModelInspector |
ClassCustomizer<TEntity> | 40 | 45 | 5 methods | no method | 50min | 5min | NHibernate.Mapping.ByCode.Impl .CustomizersImpl.ClassCustomizer<TEntity > |
IModelExplicitDeclarationsHolder | 53 | 55 | 4 methods | 2 methods | 40min | 4min 21s | NHibernate.Mapping.ByCode .IModelExplicitDeclarationsHolder |
AbstractExplicitlyDeclaredModel | 69 | 71 | 4 methods | 2 methods | 40min | 4min 21s | NHibernate.Mapping.ByCode .AbstractExplicitlyDeclaredModel |
FakeModelExplicitDeclarationsHolder | 54 | 56 | 4 methods | 2 methods | 40min | 4min 21s | NHibernate.Mapping.ByCode .FakeModelExplicitDeclarationsHolder |
ModelMapper | 160 | 163 | 4 methods | 1 method | 40min | 4min 21s | NHibernate.Mapping.ByCode.ModelMapper |
ClassMapper | 33 | 37 | 4 methods | no method | 40min | 4min 21s | NHibernate.Mapping.ByCode.Impl .ClassMapper |
ExplicitDeclarationsHolder | 53 | 55 | 4 methods | 2 methods | 40min | 4min 21s | NHibernate.Mapping.ByCode.Impl .ExplicitDeclarationsHolder |
PropertyContainerCustomizer<TEntity> | 62 | 63 | 4 methods | 3 methods | 40min | 4min 21s | NHibernate.Mapping.ByCode.Impl .CustomizersImpl .PropertyContainerCustomizer<TEntity> |
ISession | 91 | 92 | 3 methods | 2 methods | 30min | 3min 34s | NHibernate.ISession |
AbstractCollectionPersister | 150 | 152 | 3 methods | 1 method | 30min | 3min 34s | NHibernate.Persister.Collection .AbstractCollectionPersister |
ExpressionProcessor | 44 | 45 | 2 methods | 1 method | 20min | 2min 47s | NHibernate.Impl.ExpressionProcessor |
EntityType | 47 | 49 | 2 methods | no method | 20min | 2min 47s | NHibernate.Type.EntityType |
JoinedSubclassEntityPersister | 39 | 41 | 2 methods | no method | 20min | 2min 47s | NHibernate.Persister.Entity .JoinedSubclassEntityPersister |
CriteriaQueryTranslator | 53 | 55 | 2 methods | no method | 20min | 2min 47s | NHibernate.Loader.Criteria .CriteriaQueryTranslator |
SqlString | 44 | 45 | 2 methods | 1 method | 20min | 2min 47s | NHibernate.SqlCommand.SqlString |
AbstractQueryImpl | 117 | 118 | 1 method | no method | 10min | 2min 0s | NHibernate.Impl.AbstractQueryImpl |
SessionFactoryImpl | 69 | 70 | 1 method | no method | 10min | 2min 0s | NHibernate.Impl.SessionFactoryImpl |
LinkedHashMap<TKey,TValue> | 33 | 34 | 1 method | no method | 10min | 2min 0s | NHibernate.Util.LinkedHashMap<TKey ,TValue> |
CollectionBinder | 43 | 44 | 1 method | no method | 10min | 2min 0s | NHibernate.Cfg.XmlHbmBinding .CollectionBinder |
Dialect | 150 | 151 | 1 method | no method | 10min | 2min 0s | NHibernate.Dialect.Dialect |
TypeExtensions | 33 | 34 | 1 method | no method | 10min | 2min 0s | NHibernate.Mapping.ByCode.TypeExtensions |
![]() | Rule Violated: Avoid adding instance fields to a type that already had many instance fields |
• How to Fix Issues: To refactor such type and increase code quality and maintainability, certainly you'll have to group subsets of fields into smaller types and dispatch the logic implemented into the methods into these smaller types. The estimated Debt, which means the effort to fix such issue, is equal to 10 minutes per field added. Issues of this rule have a Major severity, because it is important to focus on these issues now, before such code gets released in production.
8 types matched
-
Formatting: bold means added, underlined means code was changed,
strike-boldmeans removed (since baseline)
8 types | nbOldFields | nbNewFields | addedFields | removedFields | Debt | Annual Interest | Full Name |
---|---|---|---|---|---|---|---|
SingleTableEntityPersister | 34 | 37 | 3 fields | no field | 30min | 21min | NHibernate.Persister.Entity .SingleTableEntityPersister |
AbstractExplicitlyDeclaredModel | 30 | 31 | 2 fields | 1 field | 20min | 20min | NHibernate.Mapping.ByCode .AbstractExplicitlyDeclaredModel |
FakeModelExplicitDeclarationsHolder | 26 | 27 | 2 fields | 1 field | 20min | 20min | NHibernate.Mapping.ByCode .FakeModelExplicitDeclarationsHolder |
ExplicitDeclarationsHolder | 26 | 27 | 2 fields | 1 field | 20min | 20min | NHibernate.Mapping.ByCode.Impl .ExplicitDeclarationsHolder |
SessionImpl | 20 | 21 | 1 field | no field | 10min | 20min | NHibernate.Impl.SessionImpl |
AbstractCollectionPersister | 87 | 88 | 1 field | no field | 10min | 20min | NHibernate.Persister.Collection .AbstractCollectionPersister |
CriteriaQueryTranslator | 17 | 18 | 1 field | no field | 10min | 20min | NHibernate.Loader.Criteria .CriteriaQueryTranslator |
ModelMapper | 42 | 43 | 1 field | no field | 10min | 20min | NHibernate.Mapping.ByCode.ModelMapper |
![]() | Rule Violated: Avoid transforming an immutable type into a mutable one |
• How to Fix Issues: If being immutable is an important property for a matched type, then the code must be refactored to preserve immutability. The estimated Debt, which means the effort to fix such issue, is equal to 10 minutes plus 10 minutes per instance fields of the matched type that is now mutable. Issues of this rule have a Major severity, because it is important to focus on these issues now, before such code gets released in production.
2 types matched
-
Formatting: bold means added, underlined means code was changed,
strike-boldmeans removed (since baseline)
2 types | culpritFields | Debt | Severity | Full Name |
---|---|---|---|---|
GroupedProjection | 1 field | 20min | Major | NHibernate.Criterion.GroupedProjection |
EntityModeToTuplizerMapping | 1 field | 20min | Major | NHibernate.Tuple .EntityModeToTuplizerMapping |
Object Oriented Design | 1121 |
![]() | Rule Violated: Avoid interfaces too big |
• How to Fix Issues: Typically to fix such issue, the interface must be refactored in a grape of smaller single-responsibility interfaces. A classic example is a ISession large interface, responsible for holding states, run commands and offer various accesses and facilities. The classic problem for a large public interface is that it has many clients that consume it. As a consequence splitting it in smaller interfaces has an important impact and it is not always feasible. The estimated Debt, which means the effort to fix such issue, varies linearly from 20 minutes for an interface with 10 methods, up to 7 hours for an interface with 100 or more methods. The Debt is divided by two if the interface is not publicly visible, because in such situation only the current project is impacted by the refactoring.
67 types matched
-
Formatting: bold means added, underlined means code was changed,
strike-boldmeans removed (since baseline)
67 types | Methods | Properties | Events | Debt | Annual Interest | Full Name |
---|---|---|---|---|---|---|
IFluentSessionFactoryConfiguration![]() | 6 methods | 5 methods | no method | 24min | 3min 18s | NHibernate.Cfg.Loquacious .IFluentSessionFactoryConfiguration |
ISelectExpression![]() | 2 methods | 8 methods | no method | 20min | 2min 0s | NHibernate.Hql.Ast.ANTLR.Tree .ISelectExpression |
ISession | 79 methods | 10 methods | no method | 6h 11min | 1h 45min | NHibernate.ISession |
IEntityPersister | 42 methods | 47 methods | no method | 6h 11min | 1h 45min | NHibernate.Persister.Entity .IEntityPersister |
IQuery | 75 methods | 5 methods | no method | 5h 31min | 1h 33min | NHibernate.IQuery |
IPersistenceContext | 62 methods | 14 methods | no method | 5h 13min | 1h 28min | NHibernate.Engine.IPersistenceContext |
ISessionImplementor | 49 methods | 23 methods | no method | 4h 55min | 1h 23min | NHibernate.Engine.ISessionImplementor |
IQueryOver<TRoot,TSubType> | 57 methods | 5 methods | no method | 4h 11min | 1h 10min | NHibernate.IQueryOver<TRoot,TSubType> |
IDetachedQuery | 57 methods | no method | no method | 3h 48min | 1h 3min | NHibernate.IDetachedQuery |
IModelExplicitDeclarationsHolder | 29 methods | 26 methods | no method | 3h 40min | 1h 1min | NHibernate.Mapping.ByCode .IModelExplicitDeclarationsHolder |
ICollectionPersister | 21 methods | 33 methods | no method | 3h 35min | 59min | NHibernate.Persister.Collection .ICollectionPersister |
ICustomizersHolder | 50 methods | no method | no method | 3h 17min | 54min | NHibernate.Mapping.ByCode.Impl .ICustomizersHolder |
IMultiQuery | 47 methods | no method | no method | 3h 4min | 50min | NHibernate.IMultiQuery |
IPersistentCollection | 33 methods | 12 methods | no method | 2h 55min | 47min | NHibernate.Collection .IPersistentCollection |
IStatistics | 6 methods | 35 methods | no method | 2h 37min | 42min | NHibernate.Stat.IStatistics |
ICriteria | 36 methods | 3 methods | no method | 2h 28min | 40min | NHibernate.ICriteria |
IType | 26 methods | 9 methods | no method | 2h 11min | 34min | NHibernate.Type.IType |
IStatelessSession | 30 methods | 4 methods | no method | 2h 6min | 33min | NHibernate.IStatelessSession |
ISessionFactoryImplementor | 17 methods | 13 methods | no method | 1h 48min | 28min | NHibernate.Engine .ISessionFactoryImplementor |
IClassMetadata | 13 methods | 16 methods | no method | 1h 44min | 26min | NHibernate.Metadata.IClassMetadata |
IModelInspector | 29 methods | no method | no method | 1h 44min | 26min | NHibernate.Mapping.ByCode .IModelInspector |
ISessionFactory | 22 methods | 3 methods | no method | 1h 26min | 21min | NHibernate.ISessionFactory |
IStatisticsImplementor | 25 methods | no method | no method | 1h 26min | 21min | NHibernate.Stat.IStatisticsImplementor |
IClassAttributesMapper<TEntity> | 25 methods | no method | no method | 1h 26min | 21min | NHibernate.Mapping.ByCode .IClassAttributesMapper<TEntity> |
FooProxy | 2 methods | 23 methods | no method | 1h 26min | 21min | NHibernate.DomainModel.FooProxy |
ICriteriaQuery | 20 methods | 3 methods | no method | 1h 17min | 19min | NHibernate.Criterion.ICriteriaQuery |
IASTNode | 13 methods | 10 methods | no method | 1h 17min | 19min | NHibernate.Hql.Ast.ANTLR.Tree.IASTNode |
IDbIntegrationConfigurationProperties | 7 methods | 15 methods | no method | 1h 13min | 17min | NHibernate.Cfg.Loquacious .IDbIntegrationConfigurationProperties |
ICollectionPropertiesContainerMapper <TEntity> | 22 methods | no method | no method | 1h 13min | 17min | NHibernate.Mapping.ByCode .ICollectionPropertiesContainerMapper <TEntity> |
IQueryOver<TRoot> | 20 methods | no method | no method | 1h 4min | 15min | NHibernate.IQueryOver<TRoot> |
IMultiCriteria | 20 methods | no method | no method | 1h 4min | 15min | NHibernate.IMultiCriteria |
ICollectionPropertiesMapping | no method | 20 methods | no method | 1h 4min | 15min | NHibernate.Cfg.MappingSchema .ICollectionPropertiesMapping |
ICollectionPropertiesMapper | 20 methods | no method | no method | 1h 4min | 15min | NHibernate.Mapping.ByCode .ICollectionPropertiesMapper |
ICollectionPropertiesMapper<TEntity ,TElement> | 20 methods | no method | no method | 1h 4min | 15min | NHibernate.Mapping.ByCode .ICollectionPropertiesMapper<TEntity ,TElement> |
IClassAttributesMapper | 20 methods | no method | no method | 1h 4min | 15min | NHibernate.Mapping.ByCode .IClassAttributesMapper |
IInterceptor | 19 methods | no method | no method | 1h 0min | 13min | NHibernate.IInterceptor |
IInternalLogger | 14 methods | 5 methods | no method | 1h 0min | 13min | NHibernate.IInternalLogger |
IQueryTranslator | 6 methods | 11 methods | no method | 51min | 11min | NHibernate.Hql.IQueryTranslator |
IOuterJoinLoadable | 16 methods | 1 method | no method | 51min | 11min | NHibernate.Persister.Entity .IOuterJoinLoadable |
IEntityTuplizer | 12 methods | 5 methods | no method | 51min | 11min | NHibernate.Tuple.Entity.IEntityTuplizer |
IQueryable | 6 methods | 10 methods | no method | 46min | 9min | NHibernate.Persister.Entity.IQueryable |
IPropertyMapper | 16 methods | no method | no method | 46min | 9min | NHibernate.Mapping.ByCode .IPropertyMapper |
IValue | 4 methods | 11 methods | no method | 42min | 8min | NHibernate.Mapping.IValue |
ICompositeUserType | 10 methods | 4 methods | no method | 37min | 7min | NHibernate.UserTypes.ICompositeUserType |
IBatcher | 12 methods | 2 methods | no method | 37min | 7min | NHibernate.Engine.IBatcher |
ICacheConcurrencyStrategy | 12 methods | 2 methods | no method | 37min | 7min | NHibernate.Cache .ICacheConcurrencyStrategy |
ILazyInitializer | 6 methods | 8 methods | no method | 37min | 7min | NHibernate.Proxy.ILazyInitializer |
IManyToOneMapper | 14 methods | no method | no method | 37min | 7min | NHibernate.Mapping.ByCode .IManyToOneMapper |
IEntityMapping | no method | 13 methods | no method | 33min | 5min | NHibernate.Cfg.MappingSchema .IEntityMapping |
IDataBaseSchema | 7 methods | 6 methods | no method | 33min | 5min | NHibernate.Dialect.Schema .IDataBaseSchema |
IQueryableCollection | 7 methods | 6 methods | no method | 33min | 5min | NHibernate.Persister.Collection .IQueryableCollection |
IAnyMapper | 13 methods | no method | no method | 33min | 5min | NHibernate.Mapping.ByCode.IAnyMapper |
GlarchProxy | no method | 13 methods | no method | 33min | 5min | NHibernate.DomainModel.GlarchProxy |
ILoadable | 6 methods | 6 methods | no method | 28min | 4min 37s | NHibernate.Persister.Entity.ILoadable |
IJoinable | 7 methods | 5 methods | no method | 28min | 4min 37s | NHibernate.Persister.Entity.IJoinable |
IDriver | 9 methods | 2 methods | no method | 24min | 3min 18s | NHibernate.Driver.IDriver |
IAbstractComponentType | 7 methods | 4 methods | no method | 24min | 3min 18s | NHibernate.Type.IAbstractComponentType |
IUserType | 8 methods | 3 methods | no method | 24min | 3min 18s | NHibernate.UserTypes.IUserType |
IColumnMapper | 11 methods | no method | no method | 24min | 3min 18s | NHibernate.Mapping.ByCode.IColumnMapper |
IDiscriminatorMapper | 11 methods | no method | no method | 24min | 3min 18s | NHibernate.Mapping.ByCode .IDiscriminatorMapper |
ISQLQuery | 10 methods | no method | no method | 20min | 2min 0s | NHibernate.ISQLQuery |
ICollectionTypeFactory | 10 methods | no method | no method | 20min | 2min 0s | NHibernate.Bytecode .ICollectionTypeFactory |
ICache | 8 methods | 2 methods | no method | 20min | 2min 0s | NHibernate.Cache.ICache |
IDbIntegrationConfiguration | 5 methods | 5 methods | no method | 20min | 2min 0s | NHibernate.Cfg.Loquacious .IDbIntegrationConfiguration |
IProjection | 7 methods | 3 methods | no method | 20min | 2min 0s | NHibernate.Criterion.IProjection |
IElementMapper | 10 methods | no method | no method | 20min | 2min 0s | NHibernate.Mapping.ByCode.IElementMapper |
IUser | no method | 10 methods | no method | 20min | 2min 0s | NHibernate.DomainModel.Northwind .Entities.IUser |
Statistics
Stat | Methods | Properties | Events | Debt | Annual Interest |
---|---|---|---|---|---|
Sum: | 1 285 | 479 | 0 | 12d 7h | 3d 2h |
Average: | 19.18 | 7.15 | 0 | 1h 32min | 23min |
Minimum: | 0 | 0 | 0 | 20min | 2min 0s |
Maximum: | 79 | 47 | 0 | 6h 11min | 1h 45min |
Standard deviation: | 17.72 | 9.31 | 0 | 1h 30min | 26min |
Variance: | 314.06 | 86.63 | 0 | 1 016d | 88d |
![]() | Rule Violated: Base class should not use derivatives |
• How to Fix Issues: Understand the need for using derivatives, then imagine a new design, and then refactor. Typically an algorithm in the base class needs to access something from derived classes. You can try to encapsulate this access behind an abstract or a virtual method. If you see in the base class some conditions on typeof(DerivedClass) not only urgent refactoring is needed. Such condition can easily be replaced through an abstract or a virtual method. Sometime you'll see a base class that creates instance of some derived classes. In such situation, certainly using the factory method pattern http://en.wikipedia.org/wiki/Factory_method_pattern or the abstract factory pattern http://en.wikipedia.org/wiki/Abstract_factory_pattern will improve the design. The estimated Debt, which means the effort to fix such issue, is equal to 3 minutes per derived class used by the base class + 3 minutes per member of a derived class used by the base class.
26 types matched
-
Formatting: bold means added, underlined means code was changed,
strike-boldmeans removed (since baseline)
26 types | derivedClassesUsed | derivedClassesMemberUsed | Debt | Severity | Full Name |
---|---|---|---|---|---|
CascadeStyle | 13 types | 12 methods | 1h 15min | Major | NHibernate.Engine.CascadeStyle |
CascadingAction | 9 types | 9 methods | 54min | Major | NHibernate.Engine.CascadingAction |
ClassBinder | 4 types | 9 methods | 39min | Major | NHibernate.Cfg.XmlHbmBinding.ClassBinder |
ReplicationMode | 4 types | 4 methods | 24min | Major | NHibernate.ReplicationMode |
IdentifierValue | 4 types | 4 methods | 24min | Major | NHibernate.Engine.IdentifierValue |
MatchMode | 4 types | 4 methods | 24min | Major | NHibernate.Criterion.MatchMode |
QueryOver | 1 type | 4 methods | 15min | Major | NHibernate.Criterion.QueryOver |
CacheUsage | 4 types | 4 methods | 24min | Major | NHibernate.Mapping.ByCode.CacheUsage |
VersionValue | 3 types | 3 methods | 18min | Major | NHibernate.Engine.VersionValue |
AbstractCriterion | 4 types | 3 methods | 21min | Major | NHibernate.Criterion.AbstractCriterion |
CollectionFetchMode | 3 types | 3 methods | 18min | Major | NHibernate.Mapping.ByCode .CollectionFetchMode |
PropertyGeneration | 3 types | 3 methods | 18min | Major | NHibernate.Mapping.ByCode .PropertyGeneration |
LazyRelation | 3 types | 3 methods | 18min | Major | NHibernate.Mapping.ByCode.LazyRelation |
ForeignKeyDirection | 2 types | 2 methods | 12min | Major | NHibernate.Type.ForeignKeyDirection |
QueryOver<TRoot> | 1 type | 2 methods | 9min | Major | NHibernate.Criterion.QueryOver<TRoot> |
Collection | 2 types | 2 methods | 12min | Major | NHibernate.Mapping.Collection |
CacheInclude | 2 types | 2 methods | 12min | Major | NHibernate.Mapping.ByCode.CacheInclude |
FetchKind | 2 types | 2 methods | 12min | Major | NHibernate.Mapping.ByCode.FetchKind |
NotFoundMode | 2 types | 2 methods | 12min | Major | NHibernate.Mapping.ByCode.NotFoundMode |
VersionGeneration | 2 types | 2 methods | 12min | Major | NHibernate.Mapping.ByCode .VersionGeneration |
PropertyContainerCustomizer<TEntity> | 2 types | 2 methods | 12min | Major | NHibernate.Mapping.ByCode.Impl .CustomizersImpl .PropertyContainerCustomizer<TEntity> |
AbstractBasePropertyContainerMapper | 1 type | 1 method | 6min | Major | NHibernate.Mapping.ByCode.Impl .AbstractBasePropertyContainerMapper |
ScriptReader | 1 type | 1 method | 6min | Major | NHibernate.Tool.hbm2ddl.ScriptReader |
SelectExpressionList | 1 type | no member | 3min 0s | Major | NHibernate.Hql.Ast.ANTLR.Tree .SelectExpressionList |
PersistentClass | 2 types | no member | 6min | Major | NHibernate.Mapping.PersistentClass |
Part | 1 type | no member | 3min 0s | Major | NHibernate.DomainModel.Part |
![]() | Rule Violated: Class shouldn't be too deep in inheritance tree |
• How to Fix Issues: In Object-Oriented Programming, a well-known motto is Favor Composition over Inheritance. This is because inheritance comes with pitfalls. In general, the implementation of a derived class is very bound up with the base class implementation. Also a base class exposes implementation details to its derived classes, that's why it's often said that inheritance breaks encapsulation. On the other hands, Composition favors binding with interfaces over binding with implementations. Hence, not only the encapsulation is preserved, but the design is clearer, because interfaces make it explicit and less coupled. Hence, to break a long inheritance chain, Composition is often a powerful way to enhance the design of the refactored underlying logic. You can also read: http://en.wikipedia.org/wiki/Composition_over_inheritance and http://stackoverflow.com/questions/49002/prefer-composition-over-inheritance The estimated Debt, which means the effort to fix such issue, depends linearly upon the depth of inheritance.
164 types matched
- The following list of types is truncated and contains only the first 100 types of the 164 types matched.
-
Formatting: bold means added, underlined means code was changed,
strike-boldmeans removed (since baseline)
164 types | baseClasses | Depth of inheritance | Debt | Severity | Full Name |
---|---|---|---|---|---|
Oracle12cDialect![]() | 4 types | 5 | 6min | Minor | NHibernate.Dialect.Oracle12cDialect |
CollectionFilterImpl![]() | 3 types | 4 | 3min 0s | Minor | NHibernate.Impl.CollectionFilterImpl |
ResultVariableRefNode![]() | 3 types | 4 | 3min 0s | Minor | NHibernate.Hql.Ast.ANTLR.Tree .ResultVariableRefNode |
EnumStringType<T> | 6 types | 7 | 12min | Minor | NHibernate.Type.EnumStringType<T> |
EnumType<T> | 6 types | 7 | 12min | Minor | NHibernate.Type.EnumType<T> |
TrueFalseType | 6 types | 7 | 12min | Minor | NHibernate.Type.TrueFalseType |
YesNoType | 6 types | 7 | 12min | Minor | NHibernate.Type.YesNoType |
LocalDateTimeType | 6 types | 7 | 12min | Minor | NHibernate.Type.LocalDateTimeType |
UtcDateTimeType | 6 types | 7 | 12min | Minor | NHibernate.Type.UtcDateTimeType |
EnumStoredAsStringType | 6 types | 7 | 12min | Minor | NHibernate.DomainModel.Northwind .Entities.EnumStoredAsStringType |
BinaryBlobType | 5 types | 6 | 9min | Minor | NHibernate.Type.BinaryBlobType |
CharBooleanType | 5 types | 6 | 9min | Minor | NHibernate.Type.CharBooleanType |
CharType | 5 types | 6 | 9min | Minor | NHibernate.Type.CharType |
EnumStringType | 5 types | 6 | 9min | Minor | NHibernate.Type.EnumStringType |
PersistentEnumType | 5 types | 6 | 9min | Minor | NHibernate.Type.PersistentEnumType |
StringClobType | 5 types | 6 | 9min | Minor | NHibernate.Type.StringClobType |
AbstractDateTimeSpecificKindType | 5 types | 6 | 9min | Minor | NHibernate.Type .AbstractDateTimeSpecificKindType |
DbTimestampType | 5 types | 6 | 9min | Minor | NHibernate.Type.DbTimestampType |
AnsiCharType | 5 types | 6 | 9min | Minor | NHibernate.Type.AnsiCharType |
CurrencyType | 5 types | 6 | 9min | Minor | NHibernate.Type.CurrencyType |
DateTime2Type | 5 types | 6 | 9min | Minor | NHibernate.Type.DateTime2Type |
EnumCharType<T> | 5 types | 6 | 9min | Minor | NHibernate.Type.EnumCharType<T> |
UpdateStatement | 5 types | 6 | 9min | Minor | NHibernate.Hql.Ast.ANTLR.Tree .UpdateStatement |
BooleanLiteralNode | 5 types | 6 | 9min | Minor | NHibernate.Hql.Ast.ANTLR.Tree .BooleanLiteralNode |
CollectionFunction | 5 types | 6 | 9min | Minor | NHibernate.Hql.Ast.ANTLR.Tree .CollectionFunction |
DeleteStatement | 5 types | 6 | 9min | Minor | NHibernate.Hql.Ast.ANTLR.Tree .DeleteStatement |
DotNode | 5 types | 6 | 9min | Minor | NHibernate.Hql.Ast.ANTLR.Tree.DotNode |
IdentNode | 5 types | 6 | 9min | Minor | NHibernate.Hql.Ast.ANTLR.Tree.IdentNode |
IndexNode | 5 types | 6 | 9min | Minor | NHibernate.Hql.Ast.ANTLR.Tree.IndexNode |
IsNotNullLogicOperatorNode | 5 types | 6 | 9min | Minor | NHibernate.Hql.Ast.ANTLR.Tree .IsNotNullLogicOperatorNode |
IsNullLogicOperatorNode | 5 types | 6 | 9min | Minor | NHibernate.Hql.Ast.ANTLR.Tree .IsNullLogicOperatorNode |
QueryNode | 5 types | 6 | 9min | Minor | NHibernate.Hql.Ast.ANTLR.Tree.QueryNode |
SelectExpressionImpl | 5 types | 6 | 9min | Minor | NHibernate.Hql.Ast.ANTLR.Tree .SelectExpressionImpl |
SubselectCollectionLoader | 5 types | 6 | 9min | Minor | NHibernate.Loader.Collection .SubselectCollectionLoader |
SubselectOneToManyLoader | 5 types | 6 | 9min | Minor | NHibernate.Loader.Collection .SubselectOneToManyLoader |
AnsiStringType | 4 types | 5 | 6min | Minor | NHibernate.Type.AnsiStringType |
BinaryType | 4 types | 5 | 6min | Minor | NHibernate.Type.BinaryType |
BooleanType | 4 types | 5 | 6min | Minor | NHibernate.Type.BooleanType |
ByteType | 4 types | 5 | 6min | Minor | NHibernate.Type.ByteType |
AbstractCharType | 4 types | 5 | 6min | Minor | NHibernate.Type.AbstractCharType |
DateTimeType | 4 types | 5 | 6min | Minor | NHibernate.Type.DateTimeType |
DateType | 4 types | 5 | 6min | Minor | NHibernate.Type.DateType |
DecimalType | 4 types | 5 | 6min | Minor | NHibernate.Type.DecimalType |
DoubleType | 4 types | 5 | 6min | Minor | NHibernate.Type.DoubleType |
AbstractEnumType | 4 types | 5 | 6min | Minor | NHibernate.Type.AbstractEnumType |
GuidType | 4 types | 5 | 6min | Minor | NHibernate.Type.GuidType |
Int16Type | 4 types | 5 | 6min | Minor | NHibernate.Type.Int16Type |
Int32Type | 4 types | 5 | 6min | Minor | NHibernate.Type.Int32Type |
Int64Type | 4 types | 5 | 6min | Minor | NHibernate.Type.Int64Type |
SByteType | 4 types | 5 | 6min | Minor | NHibernate.Type.SByteType |
SingleType | 4 types | 5 | 6min | Minor | NHibernate.Type.SingleType |
StringType | 4 types | 5 | 6min | Minor | NHibernate.Type.StringType |
TicksType | 4 types | 5 | 6min | Minor | NHibernate.Type.TicksType |
TimeSpanType | 4 types | 5 | 6min | Minor | NHibernate.Type.TimeSpanType |
TimestampType | 4 types | 5 | 6min | Minor | NHibernate.Type.TimestampType |
TimeType | 4 types | 5 | 6min | Minor | NHibernate.Type.TimeType |
UInt16Type | 4 types | 5 | 6min | Minor | NHibernate.Type.UInt16Type |
UInt32Type | 4 types | 5 | 6min | Minor | NHibernate.Type.UInt32Type |
UInt64Type | 4 types | 5 | 6min | Minor | NHibernate.Type.UInt64Type |
TimeAsTimeSpanType | 4 types | 5 | 6min | Minor | NHibernate.Type.TimeAsTimeSpanType |
DateTimeOffsetType | 4 types | 5 | 6min | Minor | NHibernate.Type.DateTimeOffsetType |
MsSql2012Dialect | 4 types | 5 | 6min | Minor | NHibernate.Dialect.MsSql2012Dialect |
MsSqlAzure2008Dialect | 4 types | 5 | 6min | Minor | NHibernate.Dialect.MsSqlAzure2008Dialect |
MySQL55InnoDBDialect | 4 types | 5 | 6min | Minor | NHibernate.Dialect.MySQL55InnoDBDialect |
ComponentJoin | 4 types | 5 | 6min | Minor | NHibernate.Hql.Ast.ANTLR.Tree .ComponentJoin |
InsertStatement | 4 types | 5 | 6min | Minor | NHibernate.Hql.Ast.ANTLR.Tree .InsertStatement |
AbstractRestrictableStatement | 4 types | 5 | 6min | Minor | NHibernate.Hql.Ast.ANTLR.Tree .AbstractRestrictableStatement |
AbstractNullnessCheckNode | 4 types | 5 | 6min | Minor | NHibernate.Hql.Ast.ANTLR.Tree .AbstractNullnessCheckNode |
AggregateNode | 4 types | 5 | 6min | Minor | NHibernate.Hql.Ast.ANTLR.Tree .AggregateNode |
BinaryArithmeticOperatorNode | 4 types | 5 | 6min | Minor | NHibernate.Hql.Ast.ANTLR.Tree .BinaryArithmeticOperatorNode |
LiteralNode | 4 types | 5 | 6min | Minor | NHibernate.Hql.Ast.ANTLR.Tree .LiteralNode |
Case2Node | 4 types | 5 | 6min | Minor | NHibernate.Hql.Ast.ANTLR.Tree.Case2Node |
CaseNode | 4 types | 5 | 6min | Minor | NHibernate.Hql.Ast.ANTLR.Tree.CaseNode |
MethodNode | 4 types | 5 | 6min | Minor | NHibernate.Hql.Ast.ANTLR.Tree.MethodNode |
ConstructorNode | 4 types | 5 | 6min | Minor | NHibernate.Hql.Ast.ANTLR.Tree .ConstructorNode |
CountNode | 4 types | 5 | 6min | Minor | NHibernate.Hql.Ast.ANTLR.Tree.CountNode |
FromReferenceNode | 4 types | 5 | 6min | Minor | NHibernate.Hql.Ast.ANTLR.Tree .FromReferenceNode |
ImpliedFromElement | 4 types | 5 | 6min | Minor | NHibernate.Hql.Ast.ANTLR.Tree .ImpliedFromElement |
InLogicOperatorNode | 4 types | 5 | 6min | Minor | NHibernate.Hql.Ast.ANTLR.Tree .InLogicOperatorNode |
SelectClause | 4 types | 5 | 6min | Minor | NHibernate.Hql.Ast.ANTLR.Tree .SelectClause |
UnaryArithmeticNode | 4 types | 5 | 6min | Minor | NHibernate.Hql.Ast.ANTLR.Tree .UnaryArithmeticNode |
CascadeEntityLoader | 4 types | 5 | 6min | Minor | NHibernate.Loader.Entity .CascadeEntityLoader |
EntityLoader | 4 types | 5 | 6min | Minor | NHibernate.Loader.Entity.EntityLoader |
BasicCollectionLoader | 4 types | 5 | 6min | Minor | NHibernate.Loader.Collection .BasicCollectionLoader |
OneToManyLoader | 4 types | 5 | 6min | Minor | NHibernate.Loader.Collection .OneToManyLoader |
PrimitiveArray | 4 types | 5 | 6min | Minor | NHibernate.Mapping.PrimitiveArray |
NullableInt32Type | 4 types | 5 | 6min | Minor | NHibernate.DomainModel.NHSpecific .NullableInt32Type |
AbstractStringType | 3 types | 4 | 3min 0s | Minor | NHibernate.Type.AbstractStringType |
AbstractBinaryType | 3 types | 4 | 3min 0s | Minor | NHibernate.Type.AbstractBinaryType |
PrimitiveType | 3 types | 4 | 3min 0s | Minor | NHibernate.Type.PrimitiveType |
CultureInfoType | 3 types | 4 | 3min 0s | Minor | NHibernate.Type.CultureInfoType |
SerializableType | 3 types | 4 | 3min 0s | Minor | NHibernate.Type.SerializableType |
TypeType | 3 types | 4 | 3min 0s | Minor | NHibernate.Type.TypeType |
UriType | 3 types | 4 | 3min 0s | Minor | NHibernate.Type.UriType |
XDocType | 3 types | 4 | 3min 0s | Minor | NHibernate.Type.XDocType |
XmlDocType | 3 types | 4 | 3min 0s | Minor | NHibernate.Type.XmlDocType |
GenericOrderedSetType<T> | 3 types | 4 | 3min 0s | Minor | NHibernate.Type.GenericOrderedSetType<T> |
GenericSortedDictionaryType<TKey,TValue> | 3 types | 4 | 3min 0s | Minor | NHibernate.Type .GenericSortedDictionaryType<TKey,TValue > |
GenericSortedListType<TKey,TValue> | 3 types | 4 | 3min 0s | Minor | NHibernate.Type.GenericSortedListType <TKey,TValue> |
GenericSortedSetType<T> | 3 types | 4 | 3min 0s | Minor | NHibernate.Type.GenericSortedSetType<T> |
![]() | Rule Violated: Class with no descendant should be sealed if possible |
• How to Fix Issues: For each matched class, take the time to assess if it is really meant to be subclassed. Certainly most matched class will end up being declared as sealed.
1,496 types matched
- The following list of types is truncated and contains only the first 100 types of the 1496 types matched.
-
Formatting: bold means added, underlined means code was changed,
strike-boldmeans removed (since baseline)
1 496 types | # lines of code (LOC) | Debt | Severity | Full Name |
---|---|---|---|---|
DefaultMergeEventListener![]() | 205 | 0min 30s | Minor | NHibernate.Event.Default .DefaultMergeEventListener |
QueryLoader![]() | 163 | 0min 30s | Minor | NHibernate.Loader.Hql.QueryLoader |
CacheableResultTransformer![]() | 82 | 0min 30s | Minor | NHibernate.Transform .CacheableResultTransformer |
SybaseASA9Dialect![]() | 70 | 0min 30s | Minor | NHibernate.Dialect.SybaseASA9Dialect |
SubQueryFromClauseFlattener![]() | 47 | 0min 30s | Minor | NHibernate.Linq.Visitors .SubQueryFromClauseFlattener |
ActionQueue+InsertActionSorter![]() | 45 | 0min 30s | Minor | NHibernate.Engine .ActionQueue+InsertActionSorter |
BackTrackCacheParameterList![]() | 43 | 0min 30s | Minor | NHibernate.SqlCommand .BackTrackCacheParameterList |
OracleManagedDataClientDriver![]() | 39 | 0min 30s | Minor | NHibernate.Driver .OracleManagedDataClientDriver |
MySqlClientBatchingBatcher![]() | 36 | 0min 30s | Minor | NHibernate.AdoNet .MySqlClientBatchingBatcher |
MemberExpressionJoinDetector![]() | 36 | 0min 30s | Minor | NHibernate.Linq.Visitors .MemberExpressionJoinDetector |
AdoNetWithDistributedTransactionFactory![]() | 31 | 0min 30s | Minor | NHibernate.Transaction .AdoNetWithDistributedTransactionFactory |
JoinedEnumerable+JoinedEnumerator![]() | 31 | 0min 30s | Minor | NHibernate.Util .JoinedEnumerable+JoinedEnumerator |
BitwiseFunctionOperation![]() | 31 | 0min 30s | Minor | NHibernate.Dialect .BitwiseFunctionOperation |
LeftJoinRewriter![]() | 30 | 0min 30s | Minor | NHibernate.Linq.Visitors .LeftJoinRewriter |
SetSnapShot<T>![]() | 25 | 0min 30s | Minor | NHibernate.Collection.Generic.SetHelpers .SetSnapShot<T> |
NhJoinClause![]() | 25 | 0min 30s | Minor | NHibernate.Linq.Clauses.NhJoinClause |
GroupKeyNominator![]() | 23 | 0min 30s | Minor | NHibernate.Linq.GroupBy .GroupKeyNominator |
BitwiseNativeOperation![]() | 22 | 0min 30s | Minor | NHibernate.Dialect .BitwiseNativeOperation |
MySqlClientSqlCommandSet![]() | 21 | 0min 30s | Minor | NHibernate.AdoNet .MySqlClientSqlCommandSet |
ResultVariableRefNode![]() | 19 | 0min 30s | Minor | NHibernate.Hql.Ast.ANTLR.Tree .ResultVariableRefNode |
SimplifyConditionalVisitor![]() | 18 | 0min 30s | Minor | NHibernate.Linq.Visitors .SimplifyConditionalVisitor |
UUIDHexGeneratorDef![]() | 15 | 0min 30s | Minor | NHibernate.Mapping.ByCode .UUIDHexGeneratorDef |
Ingres9Dialect![]() | 14 | 0min 30s | Minor | NHibernate.Dialect.Ingres9Dialect |
ArrayIndexExpressionFlattener![]() | 14 | 0min 30s | Minor | NHibernate.Linq.ReWriters .ArrayIndexExpressionFlattener |
PersistentIdentifierBag<T >+SnapshotElement![]() | 13 | 0min 30s | Minor | NHibernate.Collection.Generic .PersistentIdentifierBag<T >+SnapshotElement |
ReferenceDependantValue![]() | 12 | 0min 30s | Minor | NHibernate.Mapping .ReferenceDependantValue |
SqlTranslator![]() | 9 | 0min 30s | Minor | NHibernate.Impl.SqlTranslator |
EnumeratorAdapter<T>![]() | 9 | 0min 30s | Minor | NHibernate.Util.EnumeratorAdapter<T> |
Oracle12cDialect![]() | 8 | 0min 30s | Minor | NHibernate.Dialect.Oracle12cDialect |
ModelMapper+TypeHierarchyComparer![]() | 7 | 0min 30s | Minor | NHibernate.Mapping.ByCode .ModelMapper+TypeHierarchyComparer |
HqlTranslatorWrapper![]() | 6 | 0min 30s | Minor | NHibernate.Impl.HqlTranslatorWrapper |
AbstractEntityPersister+PropertyKey![]() | 6 | 0min 30s | Minor | NHibernate.Persister.Entity .AbstractEntityPersister+PropertyKey |
Import![]() | 6 | 0min 30s | Minor | NHibernate.Mapping.ByCode.Import |
StringQueryExpression![]() | 5 | 0min 30s | Minor | NHibernate.Hql.StringQueryExpression |
SqlGenerator+BitwiseOpWriter![]() | 5 | 0min 30s | Minor | NHibernate.Hql.Ast.ANTLR .SqlGenerator+BitwiseOpWriter |
KeySelectorVisitor![]() | 5 | 0min 30s | Minor | NHibernate.Linq.GroupBy .KeySelectorVisitor |
SybaseAsaClientDriver![]() | 4 | 0min 30s | Minor | NHibernate.Driver.SybaseAsaClientDriver |
SybaseSQLAnywhereDriver![]() | 4 | 0min 30s | Minor | NHibernate.Driver .SybaseSQLAnywhereDriver |
NhNominatedExpression![]() | 4 | 0min 30s | Minor | NHibernate.Linq.Expressions .NhNominatedExpression |
QueryExpressionSourceIdentifer![]() | 4 | 0min 30s | Minor | NHibernate.Linq.Visitors .QueryExpressionSourceIdentifer |
UUIDStringGeneratorDef![]() | 4 | 0min 30s | Minor | NHibernate.Mapping.ByCode .UUIDStringGeneratorDef |
TriggerIdentityGeneratorDef![]() | 4 | 0min 30s | Minor | NHibernate.Mapping.ByCode .TriggerIdentityGeneratorDef |
TableHiLoGeneratorDef![]() | 4 | 0min 30s | Minor | NHibernate.Mapping.ByCode .TableHiLoGeneratorDef |
TableGeneratorDef![]() | 4 | 0min 30s | Minor | NHibernate.Mapping.ByCode .TableGeneratorDef |
SequenceIdentityGeneratorDef![]() | 4 | 0min 30s | Minor | NHibernate.Mapping.ByCode .SequenceIdentityGeneratorDef |
SequenceHiLoGeneratorDef![]() | 4 | 0min 30s | Minor | NHibernate.Mapping.ByCode .SequenceHiLoGeneratorDef |
SelectGeneratorDef![]() | 4 | 0min 30s | Minor | NHibernate.Mapping.ByCode .SelectGeneratorDef |
NativeGuidGeneratorDef![]() | 4 | 0min 30s | Minor | NHibernate.Mapping.ByCode .NativeGuidGeneratorDef |
IncrementGeneratorDef![]() | 4 | 0min 30s | Minor | NHibernate.Mapping.ByCode .IncrementGeneratorDef |
CounterGeneratorDef![]() | 4 | 0min 30s | Minor | NHibernate.Mapping.ByCode .CounterGeneratorDef |
EnhancedSequenceGeneratorDef![]() | 4 | 0min 30s | Minor | NHibernate.Mapping.ByCode .EnhancedSequenceGeneratorDef |
EnhancedTableGeneratorDef![]() | 4 | 0min 30s | Minor | NHibernate.Mapping.ByCode .EnhancedTableGeneratorDef |
AfterTransactionCompletes![]() | 3 | 0min 30s | Minor | NHibernate.Transaction .AfterTransactionCompletes |
OneToOneMapper<T>![]() | 3 | 0min 30s | Minor | NHibernate.Mapping.ByCode.Impl .OneToOneMapper<T> |
NhWithClause![]() | 2 | 0min 30s | Minor | NHibernate.Linq.Clauses.NhWithClause |
ConvertToDateTimeGenerator![]() | 2 | 0min 30s | Minor | NHibernate.Linq.Functions .ConvertToDateTimeGenerator |
ConvertToBooleanGenerator![]() | 2 | 0min 30s | Minor | NHibernate.Linq.Functions .ConvertToBooleanGenerator |
ConvertToInt32Generator![]() | 2 | 0min 30s | Minor | NHibernate.Linq.Functions .ConvertToInt32Generator |
ConvertToDecimalGenerator![]() | 2 | 0min 30s | Minor | NHibernate.Linq.Functions .ConvertToDecimalGenerator |
ConvertToDoubleGenerator![]() | 2 | 0min 30s | Minor | NHibernate.Linq.Functions .ConvertToDoubleGenerator |
MySqlClientBatchingBatcherFactory![]() | 1 | 0min 30s | Minor | NHibernate.AdoNet .MySqlClientBatchingBatcherFactory |
HqlWith![]() | 1 | 0min 30s | Minor | NHibernate.Hql.Ast.HqlWith |
Configuration | 994 | 0min 30s | Minor | NHibernate.Cfg.Configuration |
StatefulPersistenceContext | 501 | 0min 30s | Minor | NHibernate.Engine .StatefulPersistenceContext |
CollectionBinder | 434 | 0min 30s | Minor | NHibernate.Cfg.XmlHbmBinding .CollectionBinder |
MultiQueryImpl | 401 | 0min 30s | Minor | NHibernate.Impl.MultiQueryImpl |
SingleTableEntityPersister | 371 | 0min 30s | Minor | NHibernate.Persister.Entity .SingleTableEntityPersister |
CriteriaQueryTranslator | 351 | 0min 30s | Minor | NHibernate.Loader.Criteria .CriteriaQueryTranslator |
SqlString | 340 | 0min 30s | Minor | NHibernate.SqlCommand.SqlString |
SimpleModelInspector | 335 | 0min 30s | Minor | NHibernate.Mapping.ByCode .SimpleModelInspector |
StatelessSessionImpl | 276 | 0min 30s | Minor | NHibernate.Impl.StatelessSessionImpl |
StatisticsImpl | 272 | 0min 30s | Minor | NHibernate.Stat.StatisticsImpl |
JoinedSubclassEntityPersister | 258 | 0min 30s | Minor | NHibernate.Persister.Entity .JoinedSubclassEntityPersister |
EntityMetamodel | 252 | 0min 30s | Minor | NHibernate.Tuple.Entity.EntityMetamodel |
CriteriaImpl | 239 | 0min 30s | Minor | NHibernate.Impl.CriteriaImpl |
EventListeners | 230 | 0min 30s | Minor | NHibernate.Event.EventListeners |
MultiCriteriaImpl | 224 | 0min 30s | Minor | NHibernate.Impl.MultiCriteriaImpl |
DotNode | 214 | 0min 30s | Minor | NHibernate.Hql.Ast.ANTLR.Tree.DotNode |
Mappings | 213 | 0min 30s | Minor | NHibernate.Cfg.Mappings |
DefaultLoadEventListener | 200 | 0min 30s | Minor | NHibernate.Event.Default .DefaultLoadEventListener |
SelectClause | 195 | 0min 30s | Minor | NHibernate.Hql.Ast.ANTLR.Tree .SelectClause |
FromElementFactory | 194 | 0min 30s | Minor | NHibernate.Hql.Ast.ANTLR.Tree .FromElementFactory |
PropertiesBinder | 191 | 0min 30s | Minor | NHibernate.Cfg.XmlHbmBinding .PropertiesBinder |
PersistentIdentifierBag<T> | 187 | 0min 30s | Minor | NHibernate.Collection.Generic .PersistentIdentifierBag<T> |
PersistentGenericBag<T> | 185 | 0min 30s | Minor | NHibernate.Collection.Generic .PersistentGenericBag<T> |
PersistentGenericSet<T> | 182 | 0min 30s | Minor | NHibernate.Collection.Generic .PersistentGenericSet<T> |
DefaultFlushEntityEventListener | 179 | 0min 30s | Minor | NHibernate.Event.Default .DefaultFlushEntityEventListener |
CustomLoader | 177 | 0min 30s | Minor | NHibernate.Loader.Custom.CustomLoader |
PersistentGenericMap<TKey,TValue> | 176 | 0min 30s | Minor | NHibernate.Collection.Generic .PersistentGenericMap<TKey,TValue> |
BasicFormatter+FormatProcess | 173 | 0min 30s | Minor | NHibernate.AdoNet.Util .BasicFormatter+FormatProcess |
PersistentGenericList<T> | 173 | 0min 30s | Minor | NHibernate.Collection.Generic .PersistentGenericList<T> |
ResultSetMappingBinder | 171 | 0min 30s | Minor | NHibernate.Cfg.XmlHbmBinding .ResultSetMappingBinder |
QueryOver<TRoot,TSubType> | 168 | 0min 30s | Minor | NHibernate.Criterion.QueryOver<TRoot ,TSubType> |
UnionSubclassEntityPersister | 152 | 0min 30s | Minor | NHibernate.Persister.Entity .UnionSubclassEntityPersister |
FirebirdDialect | 150 | 0min 30s | Minor | NHibernate.Dialect.FirebirdDialect |
SQLQueryReturnProcessor | 150 | 0min 30s | Minor | NHibernate.Loader.Custom.Sql .SQLQueryReturnProcessor |
WhereJoinDetector | 149 | 0min 30s | Minor | NHibernate.Linq.Visitors .WhereJoinDetector |
HqlGeneratorExpressionTreeVisitor | 148 | 0min 30s | Minor | NHibernate.Linq.Visitors .HqlGeneratorExpressionTreeVisitor |
MsSqlSelectParser | 146 | 0min 30s | Minor | NHibernate.SqlCommand.Parser .MsSqlSelectParser |
OneToManyPersister | 145 | 0min 30s | Minor | NHibernate.Persister.Collection .OneToManyPersister |
![]() | Rule Violated: Overrides of Method() should call base.Method() |
• How to Fix Issues: You should investigate if inheritance is the right choice to bind the base class implementation with the derived classes implementations. Does presenting the method with polymorphic behavior through an interface, would be a better design choice? In such situation, often using the design pattern template method http://en.wikipedia.org/wiki/Template_method_pattern might help improving the design.
730 methods matched
- The following list of methods is truncated and contains only the first 100 methods of the 730 methods matched.
-
Formatting: bold means added, underlined means code was changed,
strike-boldmeans removed (since baseline)
730 methods | shouldCall | definedInBaseClass | Debt | Severity | Full Name |
---|---|---|---|---|---|
Clear(Object)![]() | Clear(Object) | CollectionType | 5min | Minor | NHibernate.Type.GenericSetType<T>.Clear (Object) |
Clear(Object)![]() | Clear(Object) | CollectionType | 5min | Minor | NHibernate.Type.GenericMapType<TKey ,TValue>.Clear(Object) |
Clear(Object)![]() | Clear(Object) | CollectionType | 5min | Minor | NHibernate.Type.GenericIdentifierBagType <T>.Clear(Object) |
Clear(Object)![]() | Clear(Object) | CollectionType | 5min | Minor | NHibernate.Type.GenericListType<T>.Clear (Object) |
Add(Object,Object)![]() | Add(Object,Object) | CollectionType | 5min | Minor | NHibernate.Type.GenericSetType<T>.Add (Object,Object) |
Add(Object,Object)![]() | Add(Object,Object) | CollectionType | 5min | Minor | NHibernate.Type.GenericIdentifierBagType <T>.Add(Object,Object) |
Add(Object,Object)![]() | Add(Object,Object) | CollectionType | 5min | Minor | NHibernate.Type.GenericListType<T>.Add (Object,Object) |
GetElementsIterator(Object)![]() | GetElementsIterator(Object) | CollectionType | 5min | Minor | NHibernate.Type.GenericMapType<TKey ,TValue>.GetElementsIterator(Object) |
IndexOf(Object,Object)![]() | IndexOf(Object,Object) | CollectionType | 5min | Minor | NHibernate.Type.GenericMapType<TKey ,TValue>.IndexOf(Object,Object) |
IndexOf(Object,Object)![]() | IndexOf(Object,Object) | CollectionType | 5min | Minor | NHibernate.Type.GenericListType<T> .IndexOf(Object,Object) |
IsLogicalOneToOne()![]() | IsLogicalOneToOne() | EntityType | 5min | Minor | NHibernate.Type.ManyToOneType .IsLogicalOneToOne() |
get_RowUpdatePossible()![]() | get_RowUpdatePossible() | AbstractPersistentCollection | 5min | Minor | NHibernate.Collection.Generic .PersistentGenericSet<T> .get_RowUpdatePossible() |
get_RowUpdatePossible()![]() | get_RowUpdatePossible() | AbstractPersistentCollection | 5min | Minor | NHibernate.Collection.Generic .PersistentGenericBag<T> .get_RowUpdatePossible() |
NeedsRecreate(ICollectionPersister)![]() | NeedsRecreate(ICollectionPersister) | AbstractPersistentCollection | 5min | Minor | NHibernate.Collection.Generic .PersistentGenericBag<T>.NeedsRecreate (ICollectionPersister) |
PreInsert(ICollectionPersister)![]() | PreInsert(ICollectionPersister) | AbstractPersistentCollection | 5min | Minor | NHibernate.Collection.Generic .PersistentIdentifierBag<T>.PreInsert (ICollectionPersister) |
AfterRowInsert(ICollectionPersister ,Object,Int32,Object)![]() | AfterRowInsert(ICollectionPersister,Object,Int32,Object) | AbstractPersistentCollection | 5min | Minor | NHibernate.Collection.Generic .PersistentIdentifierBag<T> .AfterRowInsert(ICollectionPersister ,Object,Int32,Object) |
GetIdentifier(Object,Int32)![]() | GetIdentifier(Object,Int32) | AbstractPersistentCollection | 5min | Minor | NHibernate.Collection.Generic .PersistentIdentifierBag<T> .GetIdentifier(Object,Int32) |
get_SupportsTemporaryTables()![]() | get_SupportsTemporaryTables() | Dialect | 5min | Minor | NHibernate.Dialect.FirebirdDialect .get_SupportsTemporaryTables() |
PerformTemporaryTableDDLInIsolation()![]() | PerformTemporaryTableDDLInIsolation() | Dialect | 5min | Minor | NHibernate.Dialect.FirebirdDialect .PerformTemporaryTableDDLInIsolation() |
DropTemporaryTableAfterUse()![]() | DropTemporaryTableAfterUse() | Dialect | 5min | Minor | NHibernate.Dialect.FirebirdDialect .DropTemporaryTableAfterUse() |
get_SupportsVariableLimit()![]() | get_SupportsVariableLimit() | Dialect | 5min | Minor | NHibernate.Dialect.DB2Dialect .get_SupportsVariableLimit() |
get_CreateTemporaryTableString()![]() | get_CreateTemporaryTableString() | Dialect | 5min | Minor | NHibernate.Dialect.FirebirdDialect .get_CreateTemporaryTableString() |
get_SupportsVariableLimit()![]() | get_SupportsVariableLimit() | DB2Dialect | 5min | Minor | NHibernate.Dialect.DB2400Dialect .get_SupportsVariableLimit() |
SaveWithGeneratedOrRequestedId (SaveOrUpdateEvent)![]() | SaveWithGeneratedOrRequestedId(SaveOrUpdateEvent) | DefaultSaveOrUpdateEventListener | 5min | Minor | NHibernate.Event.Default .DefaultUpdateEventListener .SaveWithGeneratedOrRequestedId (SaveOrUpdateEvent) |
GetIdentifierType(Int32)![]() | GetIdentifierType(Int32) | AbstractEntityPersister | 5min | Minor | NHibernate.Persister.Entity .SingleTableEntityPersister .GetIdentifierType(Int32) |
GetJoinTableId(Int32,Object[])![]() | GetJoinTableId(Int32,Object[]) | AbstractEntityPersister | 5min | Minor | NHibernate.Persister.Entity .SingleTableEntityPersister .GetJoinTableId(Int32,Object[]) |
GetJoinTableId(Int32,Object,EntityMode)![]() | GetJoinTableId(Int32,Object,EntityMode) | AbstractEntityPersister | 5min | Minor | NHibernate.Persister.Entity .SingleTableEntityPersister .GetJoinTableId(Int32,Object,EntityMode) |
GetRefIdColumnOfTable(Int32)![]() | GetRefIdColumnOfTable(Int32) | AbstractEntityPersister | 5min | Minor | NHibernate.Persister.Entity .SingleTableEntityPersister .GetRefIdColumnOfTable(Int32) |
IsIdOfTable(Int32,Int32)![]() | IsIdOfTable(Int32,Int32) | AbstractEntityPersister | 5min | Minor | NHibernate.Persister.Entity .SingleTableEntityPersister.IsIdOfTable (Int32,Int32) |
GenerateTableAliasForKeyColumns(String)![]() | GenerateTableAliasForKeyColumns(String) | AbstractCollectionPersister | 5min | Minor | NHibernate.Persister.Collection .OneToManyPersister .GenerateTableAliasForKeyColumns(String) |
ResolveResultTransformer (IResultTransformer)![]() | ResolveResultTransformer(IResultTransformer) | Loader | 5min | Minor | NHibernate.Loader.Custom.CustomLoader .ResolveResultTransformer (IResultTransformer) |
get_IncludeInResultRow()![]() | get_IncludeInResultRow() | Loader | 5min | Minor | NHibernate.Loader.Custom.CustomLoader .get_IncludeInResultRow() |
CloseConnection(IDbConnection) | CloseConnection(IDbConnection) | ConnectionProvider | 5min | Minor | NHibernate.Connection .UserSuppliedConnectionProvider .CloseConnection(IDbConnection) |
Configure(IDictionary<String,String>) | Configure(IDictionary<String,String>) | ConnectionProvider | 5min | Minor | NHibernate.Connection .UserSuppliedConnectionProvider .Configure(IDictionary<String,String>) |
get_SupportsMultipleOpenReaders() | get_SupportsMultipleOpenReaders() | DriverBase | 5min | Minor | NHibernate.Driver.OleDbDriver .get_SupportsMultipleOpenReaders() |
get_SupportsMultipleOpenReaders() | get_SupportsMultipleOpenReaders() | DriverBase | 5min | Minor | NHibernate.Driver.SqlClientDriver .get_SupportsMultipleOpenReaders() |
GetResultSetsCommand(ISessionImplementor ) | GetResultSetsCommand(ISessionImplementor) | DriverBase | 5min | Minor | NHibernate.Driver.SqlClientDriver .GetResultSetsCommand (ISessionImplementor) |
get_SupportsMultipleQueries() | get_SupportsMultipleQueries() | DriverBase | 5min | Minor | NHibernate.Driver.SqlClientDriver .get_SupportsMultipleQueries() |
get_ReturnTypes() | get_ReturnTypes() | AbstractQueryImpl | 5min | Minor | NHibernate.Impl.SqlQueryImpl .get_ReturnTypes() |
get_ReturnAliases() | get_ReturnAliases() | AbstractQueryImpl | 5min | Minor | NHibernate.Impl.SqlQueryImpl .get_ReturnAliases() |
get_IsAssociationType() | get_IsAssociationType() | AbstractType | 5min | Minor | NHibernate.Type.CollectionType .get_IsAssociationType() |
get_IsAssociationType() | get_IsAssociationType() | AbstractType | 5min | Minor | NHibernate.Type.EntityType .get_IsAssociationType() |
get_IsAssociationType() | get_IsAssociationType() | AbstractType | 5min | Minor | NHibernate.Type.AnyType .get_IsAssociationType() |
get_IsXMLElement() | get_IsXMLElement() | AbstractType | 5min | Minor | NHibernate.Type.ComponentType .get_IsXMLElement() |
get_IsXMLElement() | get_IsXMLElement() | AbstractType | 5min | Minor | NHibernate.Type.EntityType .get_IsXMLElement() |
get_IsCollectionType() | get_IsCollectionType() | AbstractType | 5min | Minor | NHibernate.Type.CollectionType .get_IsCollectionType() |
get_IsCollectionType() | get_IsCollectionType() | AbstractType | 5min | Minor | NHibernate.Type.ComponentType .get_IsCollectionType() |
get_IsComponentType() | get_IsComponentType() | AbstractType | 5min | Minor | NHibernate.Type.ComponentType .get_IsComponentType() |
get_IsComponentType() | get_IsComponentType() | AbstractType | 5min | Minor | NHibernate.Type.CompositeCustomType .get_IsComponentType() |
get_IsComponentType() | get_IsComponentType() | AbstractType | 5min | Minor | NHibernate.Type.AnyType .get_IsComponentType() |
get_IsEntityType() | get_IsEntityType() | AbstractType | 5min | Minor | NHibernate.Type.ComponentType .get_IsEntityType() |
get_IsEntityType() | get_IsEntityType() | AbstractType | 5min | Minor | NHibernate.Type.EntityType .get_IsEntityType() |
Disassemble(Object,ISessionImplementor ,Object) | Disassemble(Object,ISessionImplementor,Object) | AbstractType | 5min | Minor | NHibernate.Type.CollectionType .Disassemble(Object,ISessionImplementor ,Object) |
Disassemble(Object,ISessionImplementor ,Object) | Disassemble(Object,ISessionImplementor,Object) | AbstractType | 5min | Minor | NHibernate.Type.ComponentType .Disassemble(Object,ISessionImplementor ,Object) |
Disassemble(Object,ISessionImplementor ,Object) | Disassemble(Object,ISessionImplementor,Object) | AbstractType | 5min | Minor | NHibernate.Type.CompositeCustomType .Disassemble(Object,ISessionImplementor ,Object) |
Disassemble(Object,ISessionImplementor ,Object) | Disassemble(Object,ISessionImplementor,Object) | AbstractType | 5min | Minor | NHibernate.Type.CustomType.Disassemble (Object,ISessionImplementor,Object) |
Disassemble(Object,ISessionImplementor ,Object) | Disassemble(Object,ISessionImplementor,Object) | AbstractType | 5min | Minor | NHibernate.Type.AnyType.Disassemble (Object,ISessionImplementor,Object) |
Assemble(Object,ISessionImplementor ,Object) | Assemble(Object,ISessionImplementor,Object) | AbstractType | 5min | Minor | NHibernate.Type.CollectionType.Assemble (Object,ISessionImplementor,Object) |
Assemble(Object,ISessionImplementor ,Object) | Assemble(Object,ISessionImplementor,Object) | AbstractType | 5min | Minor | NHibernate.Type.ComponentType.Assemble (Object,ISessionImplementor,Object) |
Assemble(Object,ISessionImplementor ,Object) | Assemble(Object,ISessionImplementor,Object) | AbstractType | 5min | Minor | NHibernate.Type.CompositeCustomType .Assemble(Object,ISessionImplementor ,Object) |
Assemble(Object,ISessionImplementor ,Object) | Assemble(Object,ISessionImplementor,Object) | AbstractType | 5min | Minor | NHibernate.Type.CustomType.Assemble (Object,ISessionImplementor,Object) |
Assemble(Object,ISessionImplementor ,Object) | Assemble(Object,ISessionImplementor,Object) | AbstractType | 5min | Minor | NHibernate.Type.AnyType.Assemble(Object ,ISessionImplementor,Object) |
IsDirty(Object,Object ,ISessionImplementor) | IsDirty(Object,Object,ISessionImplementor) | AbstractType | 5min | Minor | NHibernate.Type.ComponentType.IsDirty (Object,Object,ISessionImplementor) |
Hydrate(IDataReader,String[] ,ISessionImplementor,Object) | Hydrate(IDataReader,String[],ISessionImplementor,Object) | AbstractType | 5min | Minor | NHibernate.Type.CollectionType.Hydrate (IDataReader,String[] ,ISessionImplementor,Object) |
Hydrate(IDataReader,String[] ,ISessionImplementor,Object) | Hydrate(IDataReader,String[],ISessionImplementor,Object) | AbstractType | 5min | Minor | NHibernate.Type.ComponentType.Hydrate (IDataReader,String[] ,ISessionImplementor,Object) |
Hydrate(IDataReader,String[] ,ISessionImplementor,Object) | Hydrate(IDataReader,String[],ISessionImplementor,Object) | AbstractType | 5min | Minor | NHibernate.Type.EntityType.Hydrate (IDataReader,String[] ,ISessionImplementor,Object) |
Hydrate(IDataReader,String[] ,ISessionImplementor,Object) | Hydrate(IDataReader,String[],ISessionImplementor,Object) | AbstractType | 5min | Minor | NHibernate.Type.AnyType.Hydrate (IDataReader,String[] ,ISessionImplementor,Object) |
ResolveIdentifier(Object ,ISessionImplementor,Object) | ResolveIdentifier(Object,ISessionImplementor,Object) | AbstractType | 5min | Minor | NHibernate.Type.CollectionType .ResolveIdentifier(Object ,ISessionImplementor,Object) |
ResolveIdentifier(Object ,ISessionImplementor,Object) | ResolveIdentifier(Object,ISessionImplementor,Object) | AbstractType | 5min | Minor | NHibernate.Type.ComponentType .ResolveIdentifier(Object ,ISessionImplementor,Object) |
ResolveIdentifier(Object ,ISessionImplementor,Object) | ResolveIdentifier(Object,ISessionImplementor,Object) | AbstractType | 5min | Minor | NHibernate.Type.EntityType .ResolveIdentifier(Object ,ISessionImplementor,Object) |
ResolveIdentifier(Object ,ISessionImplementor,Object) | ResolveIdentifier(Object,ISessionImplementor,Object) | AbstractType | 5min | Minor | NHibernate.Type.AnyType .ResolveIdentifier(Object ,ISessionImplementor,Object) |
SemiResolve(Object,ISessionImplementor ,Object) | SemiResolve(Object,ISessionImplementor,Object) | AbstractType | 5min | Minor | NHibernate.Type.CollectionType .SemiResolve(Object,ISessionImplementor ,Object) |
SemiResolve(Object,ISessionImplementor ,Object) | SemiResolve(Object,ISessionImplementor,Object) | AbstractType | 5min | Minor | NHibernate.Type.ComponentType .SemiResolve(Object,ISessionImplementor ,Object) |
SemiResolve(Object,ISessionImplementor ,Object) | SemiResolve(Object,ISessionImplementor,Object) | AbstractType | 5min | Minor | NHibernate.Type.AnyType.SemiResolve (Object,ISessionImplementor,Object) |
get_IsAnyType() | get_IsAnyType() | AbstractType | 5min | Minor | NHibernate.Type.AnyType.get_IsAnyType() |
IsModified(Object,Object,Boolean[] ,ISessionImplementor) | IsModified(Object,Object,Boolean[],ISessionImplementor) | AbstractType | 5min | Minor | NHibernate.Type.CollectionType .IsModified(Object,Object,Boolean[] ,ISessionImplementor) |
IsModified(Object,Object,Boolean[] ,ISessionImplementor) | IsModified(Object,Object,Boolean[],ISessionImplementor) | AbstractType | 5min | Minor | NHibernate.Type.ComponentType.IsModified (Object,Object,Boolean[] ,ISessionImplementor) |
IsModified(Object,Object,Boolean[] ,ISessionImplementor) | IsModified(Object,Object,Boolean[],ISessionImplementor) | AbstractType | 5min | Minor | NHibernate.Type.AnyType.IsModified (Object,Object,Boolean[] ,ISessionImplementor) |
Equals(Object) | Equals(Object) | AbstractType | 5min | Minor | NHibernate.Type.NullableType.Equals (Object) |
GetHashCode() | GetHashCode() | AbstractType | 5min | Minor | NHibernate.Type.NullableType.GetHashCode () |
GetHashCode() | GetHashCode() | AbstractType | 5min | Minor | NHibernate.Type.CompositeCustomType .GetHashCode() |
GetHashCode() | GetHashCode() | AbstractType | 5min | Minor | NHibernate.Type.CustomType.GetHashCode() |
GetHashCode() | GetHashCode() | AbstractType | 5min | Minor | NHibernate.Type.AnyType.GetHashCode() |
Replace(Object,Object ,ISessionImplementor,Object,IDictionary ,ForeignKeyDirection) | Replace(Object,Object,ISessionImplementor,Object,IDictionary,ForeignKeyDirection) | AbstractType | 5min | Minor | NHibernate.Type.ComponentType.Replace (Object,Object,ISessionImplementor ,Object,IDictionary,ForeignKeyDirection) |
IsSame(Object,Object,EntityMode) | IsSame(Object,Object,EntityMode) | AbstractType | 5min | Minor | NHibernate.Type.ComponentType.IsSame (Object,Object,EntityMode) |
IsSame(Object,Object,EntityMode) | IsSame(Object,Object,EntityMode) | AbstractType | 5min | Minor | NHibernate.Type.EntityType.IsSame(Object ,Object,EntityMode) |
IsSame(Object,Object,EntityMode) | IsSame(Object,Object,EntityMode) | AbstractType | 5min | Minor | NHibernate.Type.AnyType.IsSame(Object ,Object,EntityMode) |
IsEqual(Object,Object,EntityMode) | IsEqual(Object,Object,EntityMode) | AbstractType | 5min | Minor | NHibernate.Type.NullableType.IsEqual (Object,Object,EntityMode) |
IsEqual(Object,Object,EntityMode) | IsEqual(Object,Object,EntityMode) | AbstractType | 5min | Minor | NHibernate.Type.CollectionType.IsEqual (Object,Object,EntityMode) |
IsEqual(Object,Object,EntityMode) | IsEqual(Object,Object,EntityMode) | AbstractType | 5min | Minor | NHibernate.Type.ComponentType.IsEqual (Object,Object,EntityMode) |
IsEqual(Object,Object,EntityMode) | IsEqual(Object,Object,EntityMode) | AbstractType | 5min | Minor | NHibernate.Type.CompositeCustomType .IsEqual(Object,Object,EntityMode) |
IsEqual(Object,Object,EntityMode) | IsEqual(Object,Object,EntityMode) | AbstractType | 5min | Minor | NHibernate.Type.CustomType.IsEqual (Object,Object,EntityMode) |
IsEqual(Object,Object,EntityMode ,ISessionFactoryImplementor) | IsEqual(Object,Object,EntityMode,ISessionFactoryImplementor) | AbstractType | 5min | Minor | NHibernate.Type.ComponentType.IsEqual (Object,Object,EntityMode ,ISessionFactoryImplementor) |
IsEqual(Object,Object,EntityMode ,ISessionFactoryImplementor) | IsEqual(Object,Object,EntityMode,ISessionFactoryImplementor) | AbstractType | 5min | Minor | NHibernate.Type.EntityType.IsEqual (Object,Object,EntityMode ,ISessionFactoryImplementor) |
GetHashCode(Object,EntityMode) | GetHashCode(Object,EntityMode) | AbstractType | 5min | Minor | NHibernate.Type.CollectionType .GetHashCode(Object,EntityMode) |
GetHashCode(Object,EntityMode) | GetHashCode(Object,EntityMode) | AbstractType | 5min | Minor | NHibernate.Type.ComponentType .GetHashCode(Object,EntityMode) |
GetHashCode(Object,EntityMode) | GetHashCode(Object,EntityMode) | AbstractType | 5min | Minor | NHibernate.Type.CustomType.GetHashCode (Object,EntityMode) |
GetHashCode(Object,EntityMode ,ISessionFactoryImplementor) | GetHashCode(Object,EntityMode,ISessionFactoryImplementor) | AbstractType | 5min | Minor | NHibernate.Type.ComponentType .GetHashCode(Object,EntityMode ,ISessionFactoryImplementor) |
GetHashCode(Object,EntityMode ,ISessionFactoryImplementor) | GetHashCode(Object,EntityMode,ISessionFactoryImplementor) | AbstractType | 5min | Minor | NHibernate.Type.EntityType.GetHashCode (Object,EntityMode ,ISessionFactoryImplementor) |
Compare(Object,Object,Nullable <EntityMode>) | Compare(Object,Object,Nullable<EntityMode>) | AbstractType | 5min | Minor | NHibernate.Type.CollectionType.Compare (Object,Object,Nullable<EntityMode>) |
![]() | Critical Rule Violated: Do not hide base class methods |
• How to Fix Issues: To fix a violation of this rule, remove or rename the method, or change the parameter signature so that the method does not hide the base method. However method hiding is for those times when you need to have two things to have the same name but different behavior. This is a very rare situations, described here: http://blogs.msdn.com/b/ericlippert/archive/2008/05/21/method-hiding-apologia.aspx
2 methods matched
-
Formatting: bold means added, underlined means code was changed,
strike-boldmeans removed (since baseline)
2 methods | baseMethodsHidden | Debt | Severity | Full Name |
---|---|---|---|---|
get_Name() | 1 method | 10min | Major | NHibernate.DomainModel.Glarch.get_Name() |
set_Name(String) | 1 method | 10min | Major | NHibernate.DomainModel.Glarch.set_Name (String) |
![]() | Rule Violated: A stateless class or structure might be turned into a static type |
• How to Fix Issues: Declare all methods as static and transform the class or structure into a static class. By default issues of this rule have an Info severity because they reflect more an advice than a problem.
29 types matched
-
Formatting: bold means added, underlined means code was changed,
strike-boldmeans removed (since baseline)
29 types | methodsUsingMe | Debt | Severity | Full Name |
---|---|---|---|---|
TypeFactory | 34 methods | 35min | Info | NHibernate.Type.TypeFactory |
ADOExceptionReporter | 4 methods | 5min | Info | NHibernate.Util.ADOExceptionReporter |
SerializationHelper | no method | 1min 0s | Info | NHibernate.Util.SerializationHelper |
Versioning | 16 methods | 17min | Info | NHibernate.Engine.Versioning |
Isolater | 3 methods | 4min 0s | Info | NHibernate.Engine.Transaction.Isolater |
ParameterParser | 2 methods | 3min 0s | Info | NHibernate.Engine.Query.ParameterParser |
Expectations | 13 methods | 14min | Info | NHibernate.AdoNet.Expectations |
EmitUtil | 2 methods | 3min 0s | Info | NHibernate.Bytecode.EmitUtil |
SettingsFactory | 2 methods | 3min 0s | Info | NHibernate.Cfg.SettingsFactory |
ClassExtractor | 1 method | 2min 0s | Info | NHibernate.Cfg.ClassExtractor |
HbmConstants | no method | 1min 0s | Info | NHibernate.Cfg.HbmConstants |
XmlSchemas | 3 methods | 4min 0s | Info | NHibernate.Cfg.XmlSchemas |
AuxiliaryDatabaseObjectFactory | 1 method | 2min 0s | Info | NHibernate.Cfg.XmlHbmBinding .AuxiliaryDatabaseObjectFactory |
FilterDefinitionFactory | 1 method | 2min 0s | Info | NHibernate.Cfg.XmlHbmBinding .FilterDefinitionFactory |
RestrictionExtensions+RestrictionBetween Builder | 1 method | 2min 0s | Info | NHibernate.Criterion .RestrictionExtensions+RestrictionBetwee nBuilder |
Subqueries | 54 methods | 55min | Info | NHibernate.Criterion.Subqueries |
CollectionSubqueryFactory | 1 method | 2min 0s | Info | NHibernate.Hql.CollectionSubqueryFactory |
NameGenerator | 5 methods | 6min | Info | NHibernate.Hql.NameGenerator |
QuerySplitter | no method | 1min 0s | Info | NHibernate.Hql.QuerySplitter |
ASTPrinter | 5 methods | 6min | Info | NHibernate.Hql.Ast.ANTLR.Util.ASTPrinter |
ColumnHelper | 12 methods | 13min | Info | NHibernate.Hql.Ast.ANTLR.Util .ColumnHelper |
CollectionPropertyNames | no method | 1min 0s | Info | NHibernate.Persister.Collection .CollectionPropertyNames |
OptimizerFactory | 6 methods | 7min | Info | NHibernate.Id.Enhanced.OptimizerFactory |
ProxyDummy | no method | 1min 0s | Info | NHibernate.Proxy.DynamicProxy.ProxyDummy |
LinqToHqlGeneratorsRegistryFactory | 1 method | 2min 0s | Info | NHibernate.Linq.Functions .LinqToHqlGeneratorsRegistryFactory |
MoveOrderByToEndRewriter | 1 method | 2min 0s | Info | NHibernate.Linq.ReWriters .MoveOrderByToEndRewriter |
PropertyToField | 6 methods | 7min | Info | NHibernate.Mapping.ByCode .PropertyToField |
PropertyFactory | 2 methods | 3min 0s | Info | NHibernate.Tuple.PropertyFactory |
InvalidProxyClass | no method | 1min 0s | Info | NHibernate.DomainModel.NHSpecific .InvalidProxyClass |
![]() | Rule Violated: Non-static classes should be instantiated or turned to static |
• How to Fix Issues: First it is important to investigate why the class is never instantiated. If the reason is the class hosts only static methods then the class can be safely declared as static. Others reasons like, the class is meant to be instantiated via reflection, or is meant to be instantiated only by client code should lead to adapt this rule code to avoid these matches.
162 types matched
- The following list of types is truncated and contains only the first 100 types of the 162 types matched.
-
Formatting: bold means added, underlined means code was changed,
strike-boldmeans removed (since baseline)
162 types | Visibility | Debt | Severity | Full Name |
---|---|---|---|---|
Ingres9Dialect![]() | Public | 2min 0s | Minor | NHibernate.Dialect.Ingres9Dialect |
Oracle12cDialect![]() | Public | 2min 0s | Minor | NHibernate.Dialect.Oracle12cDialect |
SybaseASA9Dialect![]() | Public | 2min 0s | Minor | NHibernate.Dialect.SybaseASA9Dialect |
QuerySelect![]() | Public | 2min 0s | Minor | NHibernate.SqlCommand.QuerySelect |
ADOConnectionException | Public | 2min 0s | Minor | NHibernate.Exceptions .ADOConnectionException |
ConstraintViolationException | Public | 2min 0s | Minor | NHibernate.Exceptions .ConstraintViolationException |
DataException | Public | 2min 0s | Minor | NHibernate.Exceptions.DataException |
LockAcquisitionException | Public | 2min 0s | Minor | NHibernate.Exceptions .LockAcquisitionException |
SQLGrammarException | Public | 2min 0s | Minor | NHibernate.Exceptions .SQLGrammarException |