Hi, On Thu, Jan 10, 2013 at 4:39 PM, Ralph Goers <ralph.go...@dslextreme.com>wrote:
> I guess I should have replied. > > My attitude is "I don't care but don't expect me to always do it". > Sure, to each his own :) > Mainly, this is because I have no idea what, if any, benefit there is to > declaring a variable that is local to a method as final. They don't affect > thread safety and, as far as I am aware, don't improve the performance of > the code. If you can find something that shows significant benefit then > maybe I'll get in the habit of doing it too. > What I like about final on locals is that it lets me define and guard "local constants" that I cannot modify because the compiler will complain. This lets me put in code my intention that a local var should not be modified. It helps avoid coding mistakes. Putting final on params formalizes the convention that parms should not be overwritten, if you like that convention that is. IMO, it makes debugging easier and coding easier, you know that when you access a final param value, it has not been changed. > As far as class variables, those I have a much stronger opinion about. > They should be declared final whenever possible. > Same for instance variable when possible if immutable objects are desired for thread-safety. Cheers, Gary > > Ralph > > > > > On Jan 10, 2013, at 12:15 PM, Gary Gregory wrote: > > Since there is no negative feedback, I'll add final keywords. > > Gary > > > On Tue, Oct 9, 2012 at 9:08 AM, Gary Gregory <garydgreg...@gmail.com>wrote: > >> Hi All: >> >> The final keyword in trunk: sometimes it is used, sometimes not. I >> propose we use it all over consistently. >> >> Gary >> >> -- >> E-Mail: garydgreg...@gmail.com | ggreg...@apache.org >> JUnit in Action, 2nd Ed: <http://goog_1249600977/>http://bit.ly/ECvg0 >> Spring Batch in Action: <http://s.apache.org/HOq>http://bit.ly/bqpbCK >> Blog: http://garygregory.wordpress.com >> Home: http://garygregory.com/ >> Tweet! http://twitter.com/GaryGregory >> > > > > -- > E-Mail: garydgreg...@gmail.com | ggreg...@apache.org > JUnit in Action, 2nd Ed: <http://goog_1249600977/>http://bit.ly/ECvg0 > Spring Batch in Action: <http://s.apache.org/HOq>http://bit.ly/bqpbCK > Blog: http://garygregory.wordpress.com > Home: http://garygregory.com/ > Tweet! http://twitter.com/GaryGregory > > > -- E-Mail: garydgreg...@gmail.com | ggreg...@apache.org JUnit in Action, 2nd Ed: <http://goog_1249600977>http://bit.ly/ECvg0 Spring Batch in Action: <http://s.apache.org/HOq>http://bit.ly/bqpbCK Blog: http://garygregory.wordpress.com Home: http://garygregory.com/ Tweet! http://twitter.com/GaryGregory