<!-- ND1000: Avoid types too big - threshold increased to 500 for complex financial indicators -->
<QueryActive="True"DisplayList="True"DisplayStat="False"DisplaySelectionView="False"IsCriticalRule="True"><![CDATA[// <Name>ND1000: Avoid types too big</Name>
warnif count > 0
from t in JustMyCode.Types
where t.NbLinesOfCode > 500 &&
!t.IsGeneratedByCompiler
let loc = t.NbLinesOfCode
orderby loc descending
select new {
t,
loc,
t.Methods,
t.Fields
}
// This rule identifies types that are too large and should be split into smaller, more focused types.
// Threshold increased from default 200 to 500 to accommodate complex financial algorithm classes.
// <Debt>10 min per issue</Debt>
]]></Query>
<!-- ND1004: Avoid methods with too many parameters - threshold increased to 8 for OHLCV data methods -->
<QueryActive="True"DisplayList="True"DisplayStat="False"DisplaySelectionView="False"IsCriticalRule="True"><![CDATA[// <Name>ND1004: Avoid methods with too many parameters</Name>
warnif count > 0
from m in JustMyCode.Methods
where m.NbParameters > 8 &&
!m.IsGeneratedByCompiler
let np = m.NbParameters
orderby np descending
select new {
m,
np,
m.NbLinesOfCode
}
// This rule identifies methods with too many parameters.
// Threshold increased from default 5 to 8 to accommodate OHLCV bar data (6 values + time + flags).
<QueryActive="True"DisplayList="True"DisplayStat="False"DisplaySelectionView="False"IsCriticalRule="False"><![CDATA[$Percentage Coverage on New Code$]]></Query>
<QueryActive="True"DisplayList="True"DisplayStat="False"DisplaySelectionView="False"IsCriticalRule="False"><![CDATA[$Percentage Coverage on Refactored Code$]]></Query>
<QueryActive="True"DisplayList="True"DisplayStat="False"DisplaySelectionView="False"IsCriticalRule="False"><![CDATA[$Treat Compiler Warnings as Error$]]></Query>
<QueryActive="True"DisplayList="True"DisplayStat="False"DisplaySelectionView="False"IsCriticalRule="False"><![CDATA[$New Debt since Baseline$]]></Query>
<QueryActive="True"DisplayList="True"DisplayStat="False"DisplaySelectionView="False"IsCriticalRule="False"><![CDATA[$Debt Rating per Namespace$]]></Query>
<QueryActive="True"DisplayList="True"DisplayStat="False"DisplaySelectionView="False"IsCriticalRule="False"><![CDATA[$New Annual Interest since Baseline$]]></Query>
<QueryActive="True"DisplayList="True"DisplayStat="False"DisplaySelectionView="False"IsCriticalRule="False"><![CDATA[$Types Hot Spots$]]></Query>
<QueryActive="True"DisplayList="True"DisplayStat="False"DisplaySelectionView="False"IsCriticalRule="False"><![CDATA[$Types to Fix Priority$]]></Query>
<QueryActive="True"DisplayList="True"DisplayStat="False"DisplaySelectionView="False"IsCriticalRule="False"><![CDATA[$Issues to Fix Priority$]]></Query>
<QueryActive="True"DisplayList="True"DisplayStat="False"DisplaySelectionView="False"IsCriticalRule="False"><![CDATA[$Debt and Issues per Rule$]]></Query>
<QueryActive="True"DisplayList="True"DisplayStat="False"DisplaySelectionView="False"IsCriticalRule="False"><![CDATA[$New Debt and Issues per Rule$]]></Query>
<QueryActive="True"DisplayList="True"DisplayStat="False"DisplaySelectionView="False"IsCriticalRule="False"><![CDATA[$Debt and Issues per Code Element$]]></Query>
<QueryActive="True"DisplayList="True"DisplayStat="False"DisplaySelectionView="False"IsCriticalRule="False"><![CDATA[$New Debt and Issues per Code Element$]]></Query>
<QueryActive="False"DisplayList="True"DisplayStat="False"DisplaySelectionView="False"IsCriticalRule="False"><![CDATA[$API: New publicly visible types$]]></Query>
<QueryActive="False"DisplayList="True"DisplayStat="False"DisplaySelectionView="False"IsCriticalRule="False"><![CDATA[$API: New publicly visible methods$]]></Query>
<QueryActive="False"DisplayList="True"DisplayStat="False"DisplaySelectionView="False"IsCriticalRule="False"><![CDATA[$API: New publicly visible fields$]]></Query>
<QueryActive="False"DisplayList="True"DisplayStat="False"DisplaySelectionView="False"IsCriticalRule="False"><![CDATA[$Methods directly called by test Methods$]]></Query>
<QueryActive="False"DisplayList="True"DisplayStat="False"DisplaySelectionView="False"IsCriticalRule="False"><![CDATA[$Methods directly and indirectly called by test Methods$]]></Query>
<QueryActive="False"DisplayList="True"DisplayStat="False"DisplaySelectionView="False"IsCriticalRule="False"><![CDATA[$Methods that should be declared as 'public' in C#, 'Public' in VB.NET$]]></Query>
<QueryActive="True"DisplayList="True"DisplayStat="False"DisplaySelectionView="False"IsCriticalRule="False"><![CDATA[$# New Issues since Baseline$]]></Query>
<QueryActive="True"DisplayList="True"DisplayStat="False"DisplaySelectionView="False"IsCriticalRule="False"><![CDATA[$# Issues Fixed since Baseline$]]></Query>
<QueryActive="True"DisplayList="True"DisplayStat="False"DisplaySelectionView="False"IsCriticalRule="False"><![CDATA[$# Issues Worsened since Baseline$]]></Query>
<QueryActive="True"DisplayList="True"DisplayStat="False"DisplaySelectionView="False"IsCriticalRule="False"><![CDATA[$# Issues with severity Blocker$]]></Query>
<QueryActive="True"DisplayList="True"DisplayStat="False"DisplaySelectionView="False"IsCriticalRule="False"><![CDATA[$# Issues with severity Critical$]]></Query>
<QueryActive="True"DisplayList="True"DisplayStat="False"DisplaySelectionView="False"IsCriticalRule="False"><![CDATA[$# Issues with severity High$]]></Query>
<QueryActive="True"DisplayList="True"DisplayStat="False"DisplaySelectionView="False"IsCriticalRule="False"><![CDATA[$# Issues with severity Medium$]]></Query>
<QueryActive="True"DisplayList="True"DisplayStat="False"DisplaySelectionView="False"IsCriticalRule="False"><![CDATA[$# Issues with severity Low$]]></Query>
<QueryActive="True"DisplayList="True"DisplayStat="False"DisplaySelectionView="False"IsCriticalRule="False"><![CDATA[$New Debt since Baseline (Metric)$]]></Query>
<QueryActive="True"DisplayList="True"DisplayStat="False"DisplaySelectionView="False"IsCriticalRule="False"><![CDATA[$Breaking Point of Blocker / Critical / High Issues$]]></Query>
<QueryActive="True"DisplayList="True"DisplayStat="False"DisplaySelectionView="False"IsCriticalRule="False"><![CDATA[$# Lines of Code$]]></Query>
<QueryActive="True"DisplayList="True"DisplayStat="False"DisplaySelectionView="False"IsCriticalRule="False"><![CDATA[$# Lines of Code (JustMyCode)$]]></Query>
<QueryActive="True"DisplayList="True"DisplayStat="False"DisplaySelectionView="False"IsCriticalRule="False"><![CDATA[$# Lines of Code (NotMyCode)$]]></Query>
<QueryActive="True"DisplayList="True"DisplayStat="False"DisplaySelectionView="False"IsCriticalRule="False"><![CDATA[$# Lines of Code Added since the Baseline$]]></Query>
<QueryActive="True"DisplayList="True"DisplayStat="False"DisplaySelectionView="False"IsCriticalRule="False"><![CDATA[$# Line Feed$]]></Query>
<QueryActive="True"DisplayList="True"DisplayStat="False"DisplaySelectionView="False"IsCriticalRule="False"><![CDATA[$# IL Instructions$]]></Query>
<QueryActive="True"DisplayList="True"DisplayStat="False"DisplaySelectionView="False"IsCriticalRule="False"><![CDATA[$# IL Instructions (NotMyCode)$]]></Query>
<QueryActive="True"DisplayList="True"DisplayStat="False"DisplaySelectionView="False"IsCriticalRule="False"><![CDATA[$# Lines of Comments$]]></Query>
<QueryActive="True"DisplayList="True"DisplayStat="False"DisplaySelectionView="False"IsCriticalRule="False"><![CDATA[$Percentage of Comments$]]></Query>
<GroupName="Maximum and Average"Active="True"ShownInReport="False">
<QueryActive="True"DisplayList="True"DisplayStat="False"DisplaySelectionView="False"IsCriticalRule="False"><![CDATA[$Max # Lines of Code for Methods (JustMyCode)$]]></Query>
<QueryActive="True"DisplayList="True"DisplayStat="False"DisplaySelectionView="False"IsCriticalRule="False"><![CDATA[$Average # Lines of Code for Methods$]]></Query>
<QueryActive="True"DisplayList="True"DisplayStat="False"DisplaySelectionView="False"IsCriticalRule="False"><![CDATA[$Average # Lines of Code for Methods with at least 3 Lines of Code$]]></Query>
<QueryActive="True"DisplayList="True"DisplayStat="False"DisplaySelectionView="False"IsCriticalRule="False"><![CDATA[$Max # Lines of Code for Types (JustMyCode)$]]></Query>
<QueryActive="True"DisplayList="True"DisplayStat="False"DisplaySelectionView="False"IsCriticalRule="False"><![CDATA[$Average # Lines of Code for Types$]]></Query>
<QueryActive="True"DisplayList="True"DisplayStat="False"DisplaySelectionView="False"IsCriticalRule="False"><![CDATA[$Max Cyclomatic Complexity for Methods$]]></Query>
<QueryActive="True"DisplayList="True"DisplayStat="False"DisplaySelectionView="False"IsCriticalRule="False"><![CDATA[$Average Cyclomatic Complexity for Methods$]]></Query>
<QueryActive="True"DisplayList="True"DisplayStat="False"DisplaySelectionView="False"IsCriticalRule="False"><![CDATA[$Max IL Cyclomatic Complexity for Methods$]]></Query>
<QueryActive="True"DisplayList="True"DisplayStat="False"DisplaySelectionView="False"IsCriticalRule="False"><![CDATA[$Average IL Cyclomatic Complexity for Methods$]]></Query>
<QueryActive="True"DisplayList="True"DisplayStat="False"DisplaySelectionView="False"IsCriticalRule="False"><![CDATA[$Max IL Nesting Depth for Methods$]]></Query>
<QueryActive="True"DisplayList="True"DisplayStat="False"DisplaySelectionView="False"IsCriticalRule="False"><![CDATA[$Average IL Nesting Depth for Methods$]]></Query>
<QueryActive="True"DisplayList="True"DisplayStat="False"DisplaySelectionView="False"IsCriticalRule="False"><![CDATA[$Max # of Methods for Types$]]></Query>
<QueryActive="True"DisplayList="True"DisplayStat="False"DisplaySelectionView="False"IsCriticalRule="False"><![CDATA[$Average # Methods for Types$]]></Query>
<QueryActive="True"DisplayList="True"DisplayStat="False"DisplaySelectionView="False"IsCriticalRule="False"><![CDATA[$Max # of Methods for Interfaces$]]></Query>
<QueryActive="True"DisplayList="True"DisplayStat="False"DisplaySelectionView="False"IsCriticalRule="False"><![CDATA[$Average # Methods for Interfaces$]]></Query>
<QueryActive="True"DisplayList="True"DisplayStat="False"DisplaySelectionView="False"IsCriticalRule="False"><![CDATA[$# Lines of Code Covered$]]></Query>
<QueryActive="True"DisplayList="True"DisplayStat="False"DisplaySelectionView="False"IsCriticalRule="False"><![CDATA[$# Lines of Code Not Covered$]]></Query>
<QueryActive="True"DisplayList="True"DisplayStat="False"DisplaySelectionView="False"IsCriticalRule="False"><![CDATA[$# Lines of Code Uncoverable$]]></Query>
<QueryActive="True"DisplayList="True"DisplayStat="False"DisplaySelectionView="False"IsCriticalRule="False"><![CDATA[$# Lines of Code in Types 100% Covered$]]></Query>
<QueryActive="True"DisplayList="True"DisplayStat="False"DisplaySelectionView="False"IsCriticalRule="False"><![CDATA[$# Lines of Code in Methods 100% Covered$]]></Query>
<QueryActive="True"DisplayList="True"DisplayStat="False"DisplaySelectionView="False"IsCriticalRule="False"><![CDATA[$# Lines of JustMyCode Covered$]]></Query>
<QueryActive="True"DisplayList="True"DisplayStat="False"DisplaySelectionView="False"IsCriticalRule="False"><![CDATA[$# Lines of JustMyCode Not Covered$]]></Query>
<QueryActive="False"DisplayList="True"DisplayStat="False"DisplaySelectionView="False"IsCriticalRule="False"><![CDATA[$# Third-Party Code Elements Used$]]></Query>
<QueryActive="True"DisplayList="True"DisplayStat="False"DisplaySelectionView="False"IsCriticalRule="False"><![CDATA[$Assemblies where code was changed$]]></Query>
<QueryActive="True"DisplayList="True"DisplayStat="False"DisplaySelectionView="False"IsCriticalRule="False"><![CDATA[$Namespaces where code was changed$]]></Query>
<QueryActive="True"DisplayList="True"DisplayStat="False"DisplaySelectionView="False"IsCriticalRule="False"><![CDATA[$Types where code was changed$]]></Query>
<QueryActive="True"DisplayList="True"DisplayStat="False"DisplaySelectionView="False"IsCriticalRule="False"><![CDATA[$Heuristic to find types moved from one namespace or assembly to another$]]></Query>
<QueryActive="True"DisplayList="True"DisplayStat="False"DisplaySelectionView="False"IsCriticalRule="False"><![CDATA[$Types directly using one or several types changed$]]></Query>
<QueryActive="True"DisplayList="True"DisplayStat="False"DisplaySelectionView="False"IsCriticalRule="False"><![CDATA[$Types indirectly using one or several types changed$]]></Query>
<QueryActive="True"DisplayList="True"DisplayStat="False"DisplaySelectionView="False"IsCriticalRule="False"><![CDATA[$Methods where code was changed$]]></Query>
<QueryActive="True"DisplayList="True"DisplayStat="False"DisplaySelectionView="False"IsCriticalRule="False"><![CDATA[$Methods directly calling one or several methods changed$]]></Query>
<QueryActive="True"DisplayList="True"DisplayStat="False"DisplaySelectionView="False"IsCriticalRule="False"><![CDATA[$Methods indirectly calling one or several methods changed$]]></Query>
<QueryActive="True"DisplayList="True"DisplayStat="False"DisplaySelectionView="False"IsCriticalRule="False"><![CDATA[$Third party types that were not used and that are now used$]]></Query>
<QueryActive="True"DisplayList="True"DisplayStat="False"DisplaySelectionView="False"IsCriticalRule="False"><![CDATA[$Third party types that were used and that are not used anymore$]]></Query>
<QueryActive="True"DisplayList="True"DisplayStat="False"DisplaySelectionView="False"IsCriticalRule="False"><![CDATA[$Third party methods that were not used and that are now used$]]></Query>
<QueryActive="True"DisplayList="True"DisplayStat="False"DisplaySelectionView="False"IsCriticalRule="False"><![CDATA[$Third party methods that were used and that are not used anymore$]]></Query>
<QueryActive="True"DisplayList="True"DisplayStat="False"DisplaySelectionView="False"IsCriticalRule="False"><![CDATA[$Third party fields that were not used and that are now used$]]></Query>
<QueryActive="True"DisplayList="True"DisplayStat="False"DisplaySelectionView="False"IsCriticalRule="False"><![CDATA[$Third party fields that were used and that are not used anymore$]]></Query>
<QueryActive="True"DisplayList="False"DisplayStat="False"DisplaySelectionView="False"IsCriticalRule="False"><![CDATA[$Most used types (Rank)$]]></Query>
<QueryActive="True"DisplayList="False"DisplayStat="False"DisplaySelectionView="False"IsCriticalRule="False"><![CDATA[$Most used methods (Rank)$]]></Query>
<QueryActive="True"DisplayList="False"DisplayStat="False"DisplaySelectionView="False"IsCriticalRule="False"><![CDATA[$Most used assemblies (#AssembliesUsingMe)$]]></Query>
<QueryActive="True"DisplayList="False"DisplayStat="False"DisplaySelectionView="False"IsCriticalRule="False"><![CDATA[$Most used namespaces (#NamespacesUsingMe )$]]></Query>
<QueryActive="True"DisplayList="False"DisplayStat="False"DisplaySelectionView="False"IsCriticalRule="False"><![CDATA[$Most used types (#TypesUsingMe )$]]></Query>
<QueryActive="True"DisplayList="False"DisplayStat="False"DisplaySelectionView="False"IsCriticalRule="False"><![CDATA[$Most used methods (#MethodsCallingMe )$]]></Query>
<QueryActive="True"DisplayList="False"DisplayStat="False"DisplaySelectionView="False"IsCriticalRule="False"><![CDATA[$Namespaces that use many other namespaces (#NamespacesUsed )$]]></Query>
<QueryActive="True"DisplayList="False"DisplayStat="False"DisplaySelectionView="False"IsCriticalRule="False"><![CDATA[$Types that use many other types (#TypesUsed )$]]></Query>
<QueryActive="True"DisplayList="False"DisplayStat="False"DisplaySelectionView="False"IsCriticalRule="False"><![CDATA[$Methods that use many other methods (#MethodsCalled )$]]></Query>
<QueryActive="True"DisplayList="False"DisplayStat="False"DisplaySelectionView="False"IsCriticalRule="False"><![CDATA[$High-level to low-level assemblies (Level)$]]></Query>
<QueryActive="True"DisplayList="False"DisplayStat="False"DisplaySelectionView="False"IsCriticalRule="False"><![CDATA[$High-level to low-level namespaces (Level)$]]></Query>
<QueryActive="True"DisplayList="False"DisplayStat="False"DisplaySelectionView="False"IsCriticalRule="False"><![CDATA[$High-level to low-level types (Level)$]]></Query>
<QueryActive="True"DisplayList="False"DisplayStat="False"DisplaySelectionView="False"IsCriticalRule="False"><![CDATA[$High-level to low-level methods (Level)$]]></Query>
</Group>
<GroupName="Samples of Custom rules"Active="False"ShownInReport="False">