Remove assignments to Parameters

From CSSEMediaWiki
Revision as of 20:52, 6 August 2009 by Paul Williams (Talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

The code assigns to a parameter.

   int discount (int inputVal, int quantity, int yearToDate) {
       if (inputVal > 50) inputVal -= 2;
       ...
   }

Use a temporary variable instead.

   int discount (int inputVal, int quantity, int yearToDate) {
       int result = inputVal;
       if (inputVal > 50) result -= 2;
       ...
   }

The main reason for removing assignments to parameters is due to lack of clarity and to confusion between pass by value and pass by reference. Java uses pass by value exclusively.

Additional Resources

[| sourcemaking.com]

Personal tools