Emmanuel Bourg wrote:

> Le 28/11/2013 08:45, Damjan Jovanovic a écrit :
>> Why? I've heard initializing fields, even to their defaults, is a good
>> practice and makes code clearer.
> 
> This style is applied to several components, it's reported by the
> ExplicitInitialization checkstyle rule:
> 
> 
http://checkstyle.sourceforge.net/config_coding.html#ExplicitInitialization
> 
> "Rationale: each instance variable gets initialized twice, to the same
> value. Java initializes each instance variable to its default value (0
> or null) before performing any initialization specified in the code. So
> in this case, x gets initialized to 0 twice, and bar gets initialized to
> null twice. So there is a minor inefficiency. This style of coding is a
> hold-over from C/C++ style coding, and it shows that the developer isn't
> really confident that Java really initializes instance variables to
> default values."

And it is a real pain when debugging code, if the debugger first jumps from 
the ctor into the initialization code just for the defaults that would have 
been set anyway.

- Jörg


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org
For additional commands, e-mail: dev-h...@commons.apache.org

Reply via email to