Discover the built-in CABL

features for cleaner and safer code!

drive02

ON THE FLY CODE ANALYSIS

Out of the box, SonarLint reports issues on the files you are editing, giving you a chance to fix them before pushing them to the code repository. Fast feedback from the file also means that it will be very quick to fix the issues !

TEST

Unit tests and integration tests let you validate that your application behaves correctly under different circumstances. They also ensure that you didn’t introduce any regression when adding or refactoring code. But how can you verify that your tests are valid? Using test code coverage! CABL will let you verify that all your new code is really tested.

drive02
drive02

CUSTOM RULES ENGINE

CABL provides an open rules engine which allows any user to write their own rules in order to enforce their own conventions and best practices. Your rules can access the entire syntax tree, enhanced with XREF and static execution information.

DUPLICATION

Duplication is one of the root problems when working with code. Every time a developer copies and pastes code from another location, all code smells, bugs and vulnerabilities are duplicated, making it even harder to decrease the technical debt. CABL and SonarQube can identify duplicated code, so that developers can refactor the code into common procedures and classes instead of copy-pasting them.

drive02
drive02

COMPILATION WARNINGS

Compilation warnings are often overlooked because they tend to get lost in compilation reports which are buried in your continuous integration server logs. But lots of warnings can be really useful, such as dead code or functions not returning any value. As usual with SonarQube, you’ll be able to focus on compilation warnings introduced in new code, so your developers will be able to stay focused on what they’re really working on.

X REF

Cross reference files generated by the compiler are processed by CABL and made available to the rules engine. It is then possible to identify all indexes that are being used by your application, and cross check information from live information coming from your database monitoring tool.

drive02