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 on 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 that are duplicated (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. Algorithm is the followingThe algorithm is as follows: assuming that refactoring will not cross boundaries of sub-projects (no support for cross-project duplication detection), first occurence 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)
Currently SonarQube reports on the number of unsused private method within you 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)
Currently SonarQube reports on the number of unsused protected method methods within you 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 SonarQubeserver
- Switch on the coding rules that you want to monitor in your quality profile
- Run a quality analysis