Description / Features
The objective of this plugin is to report on the number of lines that can be reduced in an application. It currently works on 3 axes:
1. Report the number of duplicated lines that could be reduced
Currently SonarQube tells you that you have 50 lines involved in a duplication. But it does not easily tell you whether this is two blocks of 25 lines (in which case you can save 25 lines) or 5 blocks of 10 lines (in which case you can save 40 lines). With this plugin you get this extra information. The algorithm is as follows: assuming that refactoring will not cross boundaries of sub-projects (no support for cross-project duplication detection), first occurrence of a duplicated block will survive and all others can be removed.
2. Report on the number of lines of dead code that could be reduced (only for Java and not available from 4.2)
Currently SonarQube reports on the number of unsused private method within your application. This can be done through the
PMD:UnusedPrivateMethod rule or through the
SQUID:UnusedPrivateMethod rule. This plugin calculates the number of lines that can be saved for each of them and aggregates them.
3. Report on the number of lines of potential dead code that could be reduced (only for Java not available from 4.2)
Currently SonarQube reports on the number of unsused protected methods within your application. This can be done through the
SQUID:UnusedProtectedMethod rule. This plugin calculates the number of lines that can be saved for each of them and aggregates them.
Note that an unused protected method could be used outside the application through inheritance. This is why we call it potential dead code.
- Install the plugin through the Update Center or download it into the SONARQUBE_HOME/extensions/plugins directory
- Restart the SonarQube server
- Switch on the coding rules that you want to monitor in your quality profile
- Run a quality analysis
|SONARPLUGINS-3628||Make the plugin compatible with SonarQube 4.2|
|SONARPLUGINS-3056||Add the ability to enable/disable the plugin on a per-project basis|
Version 0.6 (4 issues)
|SONARPLUGINS-2459||Upgrade to API 3.0|
|SONARPLUGINS-2147||Move L10n bundles into their corresponding Language Packs|
|SONARPLUGINS-1989||Fix URL for update center|
|SONARPLUGINS-1923||Add full support for internationalization|
Version 0.5 (3 issues)
|SONARPLUGINS-1737||Add description for widget|
|SONARPLUGINS-1502||Possibility to exclude sources|
|SONARPLUGINS-978||Useless Code Tracker must not execute CPD by himself|
Version 0.4 (1 issues)