You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@reef.apache.org by "Mariia Mykhailova (JIRA)" <ji...@apache.org> on 2015/10/30 00:38:27 UTC
[jira] [Commented] (REEF-819) Add software quality reporting tools
for Java code
[ https://issues.apache.org/jira/browse/REEF-819?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14981574#comment-14981574 ]
Mariia Mykhailova commented on REEF-819:
----------------------------------------
PR https://github.com/apache/incubator-reef/pull/600
To run Cobertura, use {{mvn cobertura:cobertura}} from incubator-reef home. Cobertura aggregate report can be found at {{incubator-reef/target/site/cobertura/index.html}}, it allows to drill down to coverage of individual files and lines. We're currently at 23% line coverage and 18% branch coverage. I've excluded examples because it feels weird to require tests for examples
To run PMD and PMD-CPD, use {{mvn pmd:pmd}} and {{mvn pmd:cpd}}, respectively. Reports are per-subproject, in {{target/site/pmd.html}} and {{target/site/cpd.html}}. Some useful things caught by PMD but not by Checkstyle (at least in our current setting):
* Avoid modifiers which are implied by the context
* Avoid unused private fields
* Unnecessary use of fully qualified name '...' due to existing import '...'
* Avoid empty catch blocks
> Add software quality reporting tools for Java code
> --------------------------------------------------
>
> Key: REEF-819
> URL: https://issues.apache.org/jira/browse/REEF-819
> Project: REEF
> Issue Type: Task
> Components: Build infrastructure
> Reporter: Mariia Mykhailova
> Priority: Minor
>
> After discussion on mailing list, we seem to agree on the following list of software quality reporting tools to use for our Java code:
> * Checkstyle: configured as part of the build, REEF-519 to fix the leftover warnings.
> * Findbugs: configured as part of the build. REEF-802 to fix leftover medium-priority warnings.
> * PMD (looks for bugs) and PMD-CPD (looks for duplicate code): to be configured. It duplicates part of Checkstyle and Findbugs functionality, but seems to have enough non-intersecting modules to be worth having.
> * Cobertura (code coverage): to be configured.
> * to aggregate reports of individual tools and track them over time, we can use a tool like XRadar or QALab.
> We need to configure PMD, PMD-CPD and Cobertura and a way to produce aggregate reports on all Java tools.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)