Summary
The Software Quality Environment (SQE) project on java.net tailors five popular tools for developing high-quality Java code with NetBeans, with a new release for NetBeans 6 Beta.
Advertisement
Among the benefits of developing with Java are the numerous code quality tools, many open-source, that make it easier to create high-quality, defect-free code. In order to make the most popular Java code quality tools work well inside the NetBeans IDE, the java.net Software Quality Environment (SQL) project created a bundle consisting of the latest versions of FindBugs, PMD, CheckStyle, Lint4J, and Dependency Finder.
The project's aim is not simply to package these tools for consumption by NetBeans users, but also to define an integrated development environment within the IDE that guides the developer toward better-quality code. The current set of tools provides defect analysis, software metrics, dependency analysis, and code style checking, but the SQE project is also defining an interface that will allow additional code-quality tools to be integrated as well.
Current features of SQE include:
Integrating latest versions of FindBugs, PMD, CheckStyle, Lint4j, and Dependency Finder.
Toolbar icons for running any of the five tools on the current project.
A new menu item, "Check code quality" that runs all the analyses provided by the tools on the current projects and reports the result in one place.
Integration with the IDE's task list feature, adding code quality-related tasks to the list.
What do you think of NetBeans' integration of the five open-source code quality tools?
> What do you think of NetBeans' integration of the five > open-source code quality tools?
I think it's a smart move from the NetBeans folks. More awareness and more widespread usage of this kind of tools could be very beneficial for our industry. Even though all of these tools are open-source, many developers don't know about them - or may not be willing to go through the trouble of downloading and installing them.
Having them immediately and effortlessly available on the toolbar, will encourage developers to try them out.
> <p>What do you think of NetBeans' integration of the five > open-source code quality tools?</p>
I've used all of the tools except for Lint4j. In my experience, Findbugs is by far the most useful, but also the slowest by a mile. We're using Eclipse, and all of these tools have good Eclipse integration, but in my experience developers don't use these tools in Eclipse because they take such a long time to run. In development, the edit-save-compile-run turnaround time is king, so anything that slows you down there is evil (such as running code checkers). Eclipse really excels in this area (Netbeans 6 doesn't due to its Ant-based build system).
So the solution we came up with is to include these tools in an Ant build we run from time to time and analyze the reports. We may be integrating it into our continuous build as well, but the problem I've found is that there are either false positives generated by these tools, or you have situations where an error found by the code checker is acceptable for you, and either way you know have something in the report so you can't derive anymore "anything in report = bad = breaks the build". So you still need to manually inspect the reports.
What you have done on client side is what we have done on continuous integration side with http://sonar.hortis.ch. Our two products are really complementary and I wish you to succeed with NetBeans SQE. Could you just explain what Lint4J provides that Checkstyle and PMD can't ?