Rule Quality Analysis
Rule Quality Analysis allows to check any rule for following the best practices. The best practices are grouped into Policies, every one of them can be enabled/disabled separately. Some policies have advanced configuration.
Quality gate can be set to protect rules from saving if the Quality Analysis reports violations with severities that are above the set level.
There are currently six basic policies with a type five severity classification. The policies currently available are:
- UnknownVariable - reports the use of non-existent or unregistered variables. Severity: 5.
- NotUsedVariable - reports declared variables that are not in use. Severity: 2.
- Complexity - reports complex rules and operations. Severity: 3.
- Deprecated - reports deprecated operations. Severity: 4.
- Rollback - reports missing rollback logic. Severity: 5.
- Miscellaneous - reports the use of default naming of the palette operation. Severity: 1.
There are a number of configuration variables that allow for analysis configuration:
config.rules.critic.max_severity: a rule may be stored if the severity of all policies not complied with is below the severity indicated.
config.rules.critic.policies: policies to be analysed. Default all.
The actual policies may be configured. For Complexity:
config.rules.critic.policy.Complexity.max_code_lines: maximum number of permitted lines of code
config.rules.critic.policy.Complexity.max_nesting_level: maximum number of lines within a Server Code
config.rules.critic.policy.Complexity.max_operations_count: maximum number of operations per rule