Women in Technology

Hear us Roar

  Seven Low-Cost Ways to Improve Legacy Code
Subject:   Heuristics vs Rules
Date:   2004-10-27 15:39:47
From:   dubwai
Response to: Heuristics vs Rules

No, you are not missing anything. Making the parameter final has no effect on anything but the method body. Generally I don't bother with setting variables final except in setters or constructors (i.e. when the parameter and a member could be confused) but I guess if you are paranoid it makes sense to always do it.

Regardless, Java is always pass by value so the author's comment is very odd. I'm actually quite concerned by it. Any intermediate Java developer knows there's no 'out parameters' in Java. At least not directly.

Main Topics Oldest First

Showing messages 1 through 1 of 1.

  • Heuristics vs Rules
    2004-10-28 08:23:12  Robert Simmons, Jr. | O'Reilly Author [View]

    That is correct. Using final affects only the compile phase. If you choose to call this "paranoid" that is your choice but it has saved me COUNTLESS hours of debugging and it is a rather easy habit to acquire. I put it to you, "do you loose anything by making them final"? Since the answer is clearly no, there is no reason not to take advantage of cheap insurance.

    As for my comment, I can see how it would be confusing and should be cut. I cant think of a way to rephrase it to get across the meaning which would be pretty redundant given the previous sentence. Basically I meant that the only time you shouldnt make it final is when you have some reason for wanting ti to be that way on purpose. Those instances are very rare in my experience.

    Thanks for the comments and corrections. =)