O'Reilly logo

Checking Java Programs by Ian F. Darwin

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Making Your IDE Work Harder

There are several IDEs for Java. If you aren't already using one, you might want to download Eclipse (http://www.eclipse.org) and Netbeans (http://www.netbeans.org) and see which one you like better (Eclipse is the basis of IBM's WebSphere Studio products, and NetBeans forms the basis of Sun's Java Studio products, so if you're using the commercial version, everything I say about the free versions should also apply). Both are good, and both are free. In this section, I'll use Eclipse because I have more experience with it, but most of what I say here should apply mutatis mutandis to most any Java IDE.

The Eclipse Java Development Tools (JDT) provide a comprehensive series of compile-time checking warnings. JDT has always been near the head of the pack in terms of source code analysis: as you type code, JDT is constantly updating its in-memory structural representation of your program. This is why it is able to save both the source code and the class file when you save, and so there is normally no separate "build" step when using Eclipse.

Friends Don't Let Friends Ship with Warnings

Eclipse gives you a lot of fine-grained control over which code problems get reported as Errors, Warnings, or are IIgnored (see below). This is a judgment issue, but in my book, you set your choice of warnings and then you get rid of them. Any project that has any "yellows" or warnings is not ready to ship, with a few exceptions, like those unfinished Generic conversions.

Enabling ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required