Le mercredi 21 mai 2014 11:14:05 William Ferguson a écrit :
> Yes immutable objects are the big plus.
> 
> But I also find that final locals vastly improve code structure. IME the
> vast majority of objects are set once and never modified. Any attempt to do
> so is generally a sign of a bug. Having the compiler catch that is a real
> boon.
I do not agree on this one, and that's the meaning of the coding style
:)

Regards,

Hervé

> 
> On Wed, May 21, 2014 at 9:41 AM, Hervé BOUTEMY <herve.bout...@free.fr>wrote:
> > Le mardi 20 mai 2014 09:59:24 Jason van Zyl a écrit :
> > > On May 19, 2014, at 7:52 PM, William Ferguson
> > 
> > <william.fergu...@xandar.com.au> wrote:
> > > > One of the Maven Java code conventions (listed on that page) is to
> > > > 
> > > >    - Avoid using final modifier on all member variables and arguments.
> > > > 
> > > > I was just querying the sanity of that. All the other code conventions
> > > > either make sense or are a reasonable arbitrary decision. This one
> > 
> > appears
> > 
> > > > to be the exact opposite of what should be done.
> > > 
> > > So this is not a good idea in general, but we do not heavily employ
> > > constructor injection yet and a lot of our code still relies on setter
> > > or
> > > field injection. If the code in question is not a container controlled
> > > component definitely make fields final where you can. If they are
> > 
> > injected
> > 
> > > you can't. It's a long slog but I have a branch where I'm flipping the
> > 
> > core
> > 
> > > to JSR330 and everywhere possible I'm using constructor injection and
> > > private final fields. So I would agree in general that rule is not a
> > > good
> > > one, just a vestige of how we use our container.
> > 
> > ok for member variables: if we could use constructor injection, we whould
> > be
> > able to use final member variables, and that would be better
> > 
> > but for final arguments (and final local variables), we just avoid final
> > since it
> > doesn't give much value and is less readable: this one is really a choice
> > that
> > I'm fine with.
> > 
> > Regards,
> > 
> > Hervé
> > 
> > > > William
> > > 
> > > Thanks,
> > > 
> > > Jason
> > > 
> > > ----------------------------------------------------------
> > > Jason van Zyl
> > > Founder,  Apache Maven
> > > http://twitter.com/jvanzyl
> > > http://twitter.com/takari_io
> > > ---------------------------------------------------------
> > > 
> > > A language that doesn’t affect the way you think about programming is
> > > not
> > > worth knowing.
> > > 
> > >  -- Alan Perlis
> > 
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: dev-unsubscr...@maven.apache.org
> > For additional commands, e-mail: dev-h...@maven.apache.org


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

Reply via email to