Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.java.programmer > #11266

Re: Curious compiler warning

From Lew <noone@lewscanon.com>
Newsgroups comp.lang.java.programmer
Subject Re: Curious compiler warning
Date 2012-01-12 07:47 -0800
Organization albasani.net
Message-ID <jemv9p$1nl$1@news.albasani.net> (permalink)
References <Xns9FD6D451D5F1Djpnasty@94.75.214.39> <jeir2s$7v0$3@news.albasani.net> <jeisjs$4k4$1@speranza.aioe.org> <jeiu63$es3$1@news.albasani.net> <9n64r6F3upU1@mid.individual.net>

Show all headers | View raw


Gavino wrote:
> Lew wrote ...
>> I also found an explanation in the Eclipse help of all places for the
>> warning:
>> "Parameter assignment
>> "Assigning a value to a parameter is generally considered poor style
>> programming. When this option is enabled, the compiler will signal such
>> scenario either as an error or a warning."
>>
>> Notice that they point out that it's considered poor style.  The
>> engineering reason behind this is that parameter assignment goes away at
>> the end of the method block.
>
> But that would also apply to any local variables, and it's clearly not
> considered poor style to assign to those.

Except that in the method block, the caller still has the arguments, whereas 
in a local block the variable is not referenceable.  That's the difference, 
and the reason why the pundits recommend against parameter assignment.  It's 
too easy for programmers (presumably the same ones who have a problem with ++ 
and +=) might think they're in a pass-by-reference world and wonder what 
happened to their "assignment" to the argument.  That's not a risk with local 
variables.

People asked for an explanation of the principle.  This is an explanation.  If 
you want to say the rule shouldn't exist, you will get no argument from me, 
but if you want to say the reason is bad you'll have to complain to those who 
made the rule.

> The real engineering reason is surely just that method code is generally
> easier to understand and maintain if the parameters are used as constants,
> and not changed in the method body.

That's not an engineering reason, that's a conclusion.  For one thing, your 
explanation doesn't even begin to counter your own objection.  You must go deeper.

-- 
Lew
Honi soit qui mal y pense.
http://upload.wikimedia.org/wikipedia/commons/c/cf/Friz.jpg

Back to comp.lang.java.programmer | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

Curious compiler warning Novice <novice@example..com> - 2012-01-11 01:51 +0000
  Re: Curious compiler warning Lew <noone@lewscanon.com> - 2012-01-10 18:10 -0800
    Re: Curious compiler warning glen herrmannsfeldt <gah@ugcs.caltech.edu> - 2012-01-11 02:36 +0000
      Re: Curious compiler warning Lew <noone@lewscanon.com> - 2012-01-10 19:03 -0800
        Re: Curious compiler warning glen herrmannsfeldt <gah@ugcs.caltech.edu> - 2012-01-11 07:50 +0000
          Re: Curious compiler warning Lew <noone@lewscanon.com> - 2012-01-10 23:57 -0800
        Re: Curious compiler warning Arved Sandstrom <asandstrom3minus1@eastlink.ca> - 2012-01-11 05:47 -0400
          Re: Curious compiler warning glen herrmannsfeldt <gah@ugcs.caltech.edu> - 2012-01-11 13:25 +0000
            Re: Curious compiler warning Lew <noone@lewscanon.com> - 2012-01-11 06:58 -0800
              Re: Curious compiler warning Lew <noone@lewscanon.com> - 2012-01-11 07:01 -0800
              Re: Curious compiler warning Patricia Shanahan <pats@acm.org> - 2012-01-11 10:03 -0800
                Re: Curious compiler warning Lew <noone@lewscanon.com> - 2012-01-11 23:30 -0800
              Re: Curious compiler warning Gene Wirchenko <genew@ocis.net> - 2012-01-11 18:10 -0800
                Re: Curious compiler warning Lew <noone@lewscanon.com> - 2012-01-11 23:32 -0800
                Re: Curious compiler warning Leif Roar Moldskred <leifm@dimnakorr.com> - 2012-01-12 01:44 -0600
                Re: Curious compiler warning Lew <noone@lewscanon.com> - 2012-01-12 07:42 -0800
                Re: Curious compiler warning Leif Roar Moldskred <leifm@dimnakorr.com> - 2012-01-12 10:51 -0600
                Re: Curious compiler warning Patricia Shanahan <pats@acm.org> - 2012-01-12 07:50 -0800
                Re: Curious compiler warning Leif Roar Moldskred <leifm@dimnakorr.com> - 2012-01-12 10:54 -0600
                Re: Curious compiler warning Wanja Gayk <brixomatic@yahoo.com> - 2012-01-21 12:52 +0100
                Re: Curious compiler warning Gene Wirchenko <genew@ocis.net> - 2012-01-12 11:51 -0800
                Re: Curious compiler warning Lew <noone@lewscanon.com> - 2012-01-12 20:58 -0800
        Re: Curious compiler warning "Gavino" <invalid@invalid.invalid> - 2012-01-11 20:05 +0100
          Re: Curious compiler warning Lew <noone@lewscanon.com> - 2012-01-12 07:47 -0800
        Re: Curious compiler warning Wanja Gayk <brixomatic@yahoo.com> - 2012-01-21 12:52 +0100
          Re: Curious compiler warning Lew <noone@lewscanon.com> - 2012-01-21 12:13 -0800
    Re: Curious compiler warning Novice <novice@example..com> - 2012-01-11 04:55 +0000
      Re: Curious compiler warning Lew <noone@lewscanon.com> - 2012-01-10 21:46 -0800
      Re: Curious compiler warning glen herrmannsfeldt <gah@ugcs.caltech.edu> - 2012-01-11 07:55 +0000
      Re: Curious compiler warning Roedy Green <see_website@mindprod.com.invalid> - 2012-01-11 01:35 -0800
        Re: Curious compiler warning "Gavino" <invalid@invalid.invalid> - 2012-01-11 20:05 +0100
          Re: Curious compiler warning Gene Wirchenko <genew@ocis.net> - 2012-01-11 18:18 -0800
            Re: Curious compiler warning Lew <noone@lewscanon.com> - 2012-01-12 07:55 -0800
              Re: Curious compiler warning Gene Wirchenko <genew@ocis.net> - 2012-01-12 11:59 -0800
            Re: Curious compiler warning Martin Gregorie <martin@address-in-sig.invalid> - 2012-01-13 00:02 +0000
              Re: Curious compiler warning Patricia Shanahan <pats@acm.org> - 2012-01-12 16:11 -0800
                Re: Curious compiler warning Martin Gregorie <martin@address-in-sig.invalid> - 2012-01-13 01:31 +0000
          Re: Curious compiler warning Roedy Green <see_website@mindprod.com.invalid> - 2012-01-11 18:26 -0800
            Re: Curious compiler warning Patricia Shanahan <pats@acm.org> - 2012-01-11 19:01 -0800
              Re: Curious compiler warning Eric Sosman <esosman@ieee-dot-org.invalid> - 2012-01-11 23:23 -0500
                Re: Curious compiler warning Lew <noone@lewscanon.com> - 2012-01-12 08:00 -0800
            Re: Curious compiler warning Wanja Gayk <brixomatic@yahoo.com> - 2012-01-21 12:52 +0100
          Re: Curious compiler warning Lew <noone@lewscanon.com> - 2012-01-12 07:50 -0800
        Re: Curious compiler warning Gene Wirchenko <genew@ocis.net> - 2012-01-11 18:14 -0800
          Re: Curious compiler warning Lew <noone@lewscanon.com> - 2012-01-12 08:05 -0800
            Re: Curious compiler warning Gene Wirchenko <genew@ocis.net> - 2012-01-12 12:02 -0800
  Re: Curious compiler warning Eric Sosman <esosman@ieee-dot-org.invalid> - 2012-01-10 21:11 -0500
    Re: Curious compiler warning Lew <noone@lewscanon.com> - 2012-01-10 18:17 -0800
    Re: Curious compiler warning bugbear <bugbear@trim_papermule.co.uk_trim> - 2012-01-11 16:10 +0000
    Re: Curious compiler warning Lars Enderin <lars.enderin@telia.com> - 2012-01-11 20:45 +0100
      Re: Curious compiler warning Lew <noone@lewscanon.com> - 2012-01-12 08:09 -0800
      Re: Curious compiler warning Jussi Piitulainen <jpiitula@ling.helsinki.fi> - 2012-01-12 18:14 +0200
      Re: Curious compiler warning Wanja Gayk <brixomatic@yahoo.com> - 2012-01-21 12:52 +0100
      Re: Curious compiler warning David Lamb <dalamb@cs.queensu.ca> - 2012-01-21 09:12 -0500
    Re: Curious compiler warning Gene Wirchenko <genew@ocis.net> - 2012-01-11 18:21 -0800
    Re: Curious compiler warning Lew <noone@lewscanon.com> - 2012-01-12 08:08 -0800
  Re: Eclipse 3.7.1 compiler warning v_borchert@despammed.com (Volker Borchert) - 2012-01-11 21:10 +0000

csiph-web