Win a copy of Re-engineering Legacy Software this week in the Refactoring forum
or Docker in Action in the Cloud/Virtualization forum!
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

Method variable should always be marked 'final'

 
Saurabh Pillai
Ranch Hand
Posts: 524
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
What do you guys say?

If you need to do any operation on it create local variable and assign the parameter to local variable.

For example,



 
Stephan van Hulst
Bartender
Pie
Posts: 5415
52
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Seems pretty useless. A method parameter is equivalent to a local variable. If you want to change it, just change it.

I know that you can have at least NetBeans warn about assigning values to a method parameter. Supposedly because it may lead to confusing code. I don't really buy that myself.
 
Jim Pouwels
Ranch Hand
Posts: 61
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Stephan van Hulst wrote:Seems pretty useless. A method parameter is equivalent to a local variable. If you want to change it, just change it.

I know that you can have at least NetBeans warn about assigning values to a method parameter. Supposedly because it may lead to confusing code. I don't really buy that myself.


I think that it has something to do with coding conventions.
 
Campbell Ritchie
Sheriff
Posts: 48441
56
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
You only “need” to mark local variables or parameters final when they are used inside an anonymous or local class.
It is probably a good code convention to mark them final to remind yourself they are not changed, but, Stephan is right; you can change local variables if you wish. Changing parameters might cause confusion, but that does not merit a rule.
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic