Some PMD rules as part of the FOP build process would prevent these from
occuring. Perhaps something to consider if everyone agrees with Glenn's
comments?
On Oct 29, 2013 10:02 PM, "Glenn Adams" <[email protected]> wrote:
> I've been noticing code recently that makes it clear the author was a
> C/C++ programmer unfamiliar with Java. Whenever I see these things, I am
> fixing them on the spot:
>
> (1) initializers are not required for class or instance members when their
> initial values are null, false, 0, etc;
>
> e.g.
>
> public class Foo {
> private Bar bar = null;
> private boolean done = false;
> private int value = 0;
> }
>
> should be written as:
>
> public class Foo {
> private Bar bar;
> private boolean done;
> private int value;
> }
>
> (2) it is never necessary to invoke super() in a constructor, e.g.,
> super() in the following is redundant:
>
> public class Foo {
> public Foo() {
> super();
> }
> }
>
> (3) it is never necessary to define a default constructor if there is no
> other defined constructor and it does nothing; e.g.,
>
> public class Foo {
> public Foo() {
> }
> }
>
> should not define a default constructor; Java will always supply a default
> constructor if no other constructor is defined;
>
> (4) however, if you want to prevent the generation of a default, public
> constructor, then you can define a private no-argument constructor:
>
> public class CantInstantiate {
> private CantInstantiate() {
> }
> }
>