Description | Severity | Area of impact |
---|
Avoid maintaining legacy code with outdated API versions | Warning | Performance |
Avoid using outdated API versions in new code | Warning | Performance |
Avoid hardcoded urls | Medium | Manageability |
Avoid using function SObjectType.getDescribe in FLS checks | Low | Performance |
Apex unit tests should include at least one assertion | High | Manageability |
Apex unit tests should not use @isTest(seeAllData=true) | Medium | Manageability |
Avoid using if statements without using braces to surround the code block | Medium | Manageability |
Avoid using “while” statements without using braces to surround the code block | Medium | Manageability |
Avoid using if..else statements without using surrounding braces | Medium | Manageability |
Avoid using “for” statements without using surrounding braces | Medium | Manageability |
Avoid creating deeply nested if-then statements | Medium | Manageability |
Methods with numerous parameters should not be used | Medium | Manageability |
Avoid excessive class file lengths | Medium | Manageability |
Avoid methods with excessive Lines of Code count | Medium | Manageability |
Avoid types with excessive Lines of Code count | Medium | Manageability |
Avoid constructors with excessive Lines of Code count | Medium | Manageability |
Avoid excessive cyclomatic complexity | Medium | Manageability |
Avoid classes with too many fields | Medium | Scalability |
Avoid classes with too many public methods | Medium | Manageability |
Avoid SOQL inside loops | High | Performance |
Avoid DML statements inside loops | High | Performance |
Classes should explicitly declare a sharing mode if DML methods are used | High | Security |
Redirects to user-controlled locations should be avoided | High | Security |
Accessing endpoints over unencrypted http should be avoided | High | Security |
Calls to addError with disabled escaping should be avoided | High | Security |
Randomly generated IVs and keys should be used for Crypto calls | High | Security |
Avoid using DML operations in Apex class constructor/init method | High | Security |
Avoid using untrusted / unescaped variables in DML queries | High | Security |
Avoid System.debug and Configuration.disableTriggerCRUDSecurity() | High | Security |
Avoid hardcoded credentials used in requests to an endpoint | High | Security |
Variable names should start with a Lowercase character | Medium | Manageability |
Method names should always begin with a Lower case character, and should not contain underscores | Medium | Manageability |
Class names should always begin with an upper case character | Medium | Manageability |
Non-constructor methods should not have the same name as the enclosing class | Medium | Manageability |
The Global modifier should be avoided | Medium | Manageability |
Access permissions should be checked before a SOQL/SOSL/DML operation | Medium | Manageability |
Avoid hardcoding IDs | Medium | Manageability |
Avoid empty block statements | Medium | Manageability |
Final variables should be fully capitalized and non-final variables should not include underscores | Medium | Manageability |
Avoid empty Catch Block | Medium | Manageability |
Avoid Empty If Statements | Medium | Manageability |
Avoid empty try or finally blocks | Medium | Manageability |
Avoid Sosl calls within loops | Medium | Manageability |
Avoid empty while statements | Medium | Manageability |
Avoid excessive standard cyclomatic complexity | Medium | Manageability |
Avoid processing unescaped URL parameters | Medium | Manageability |
Missing ApexDoc comment | Medium | Manageability |
Missing ApexDoc @description | Medium | Manageability |
Avoid declaring multiple variables in a single line | Low | Manageability |
Possible extra-sensitive PII usage in configuration element – Gender | High | Security |
Possible extra-sensitive PII usage in configuration element – Religion | High | Security |
Possible PII usage in configuration element – Email | Warning | Security |
Possible PII usage in configuration element – Address | Warning | Security |
Possible PII usage in configuration element – Nationality | Warning | Security |
Possible PII usage in configuration element – Passport | Warning | Security |