- We’ve made a few changes to the Quality Profiles. Specifically, adding Duplication rules by default. If you don’t want to use the new rules, you should make a copy of the current Quality Profile and use that.
- Since v4.1.6, only Salesforce tests that have NO package namespace OR namespaces listed in the MetadataPackage are run. This may affect your project's code coverage when upgrading.
SonarQube 7.3 Support
As of CodeScan v4.1.4.
SFDX Code Coverage Support:
CodeScan can now use test coverage files provided by your SFDX project to display code coverage in SonarQube. Information on setting this up is available in the SFDX Code Coverage Tutorial
New Apex Rules
- System.assertEquals argument order
- If the arguments provided to the assertEquals method are reversed the test will have unexpected results. (v4.1.4)
- Empty Switch Label
- Avoid ‘switch’ statements where a label is defined but nothing is in it. (v4.1.4)
- Switch Statement is Too Dense
- A high ratio of statements to labels in a switch statement implies that the switch statement is overloaded. (v4.1.5)
- Switch Statements Should Have a When Else Case
- Switch statements should always use a 'when else' case to account for all values and avoid unexpected functionality. (v4.1.5)
- Switch Statements Should Not Be Empty
- Empty switch statements serve no purpose and should be removed. (v4.1.5)
- Too Few Branches for a Switch Statement
- Switch statements with fewer branches should use an if-else statement to increase code readability. (v4.1.5)
New Visualforce Rules
- Avoid Using Dot Namespace
- Avoid using apex. Component notation for namespaces. (v4.1.4)
- Parser fixes for Summer ‘18 update. (v4.1.4, v4.1.5)
- Fix for CodeScan for Lightning support (v4.1.6)