Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.java.programmer > #11210
| From | Lew <noone@lewscanon.com> |
|---|---|
| Newsgroups | comp.lang.java.programmer |
| Subject | Re: Curious compiler warning |
| Date | 2012-01-10 19:03 -0800 |
| Organization | albasani.net |
| Message-ID | <jeiu63$es3$1@news.albasani.net> (permalink) |
| References | <Xns9FD6D451D5F1Djpnasty@94.75.214.39> <jeir2s$7v0$3@news.albasani.net> <jeisjs$4k4$1@speranza.aioe.org> |
On 01/10/2012 06:36 PM, glen herrmannsfeldt wrote:
> Lew<noone@lewscanon.com> wrote:
>
> (snip)
>>> I've got a fairly simply method name foo() that takes two parameters, ints
>>> called start and finish. During this method, I decrement start and finish
>>> and then calls another method, bar(), passing the decremented versions of
>>> start and finish. For some reason, the compiler objects to the statements
>>> where I decrement start and finish and says "the parameter should not be
>>> assigned". I'm running Eclipse 3.7.1 with a 1.6.18 JDK.
>
> (snip)
>>> start--;
>>> finish--;
>>> bar(start, finish);
>
>> What's exactly wrong is that the assignment to the parameters
>> is thrown away, and does you no good.
>
> Well, not thrown away until after the call to bar.
Irrelevant. There's absolutely no value to storing the result because it
isn't reused.
> Does it actual notice that it isn't used other than
> the call to bar?
>
> How about:
>
> while(start+finish>0) {
> start--;
> finish--;
> bar(start, finish);
> }
>
> Would it complain in that case?
Apples and oranges. The OP's example didn't reuse the stored value. And yes,
Eclipse would complain (but only if you enable it to do so) because you are
modifying a parameter, which is what the warning cares about. You could
justify it perhaps in this case because you are using the new value, unlike in
the OP's example. But then that's a different scenario, so not relevant here.
And why does everyone insist on putting autodecrement on a separate line anyway?
My Eclipse instance was not configured out of the box to report this warning.
So I turned the warning on. (Which the OP must have done, eh? Begging the
question of why if they hate the feature so much.) You don't have to set it
as an error, or even a warning if you don't like it.
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."
which you can get by the inbuilt help or online at
<http://help.eclipse.org/helios/index.jsp?topic=%2Forg.eclipse.jdt.doc.user%2Freference%2Fpreferences%2Fjava%2Fcompiler%2Fref-preferences-errors-warnings.htm>
It's really a good idea to reach for product documentation (and Google) when
you have such a question. I think there are a lot of programmers who
foolishly fail to read the docs. We're talking fundamental user guide stuff
here, not weird little corner facts.
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.
In the OP's example the other reason is that the assignment is unnecessary; it
doesn't help anything and increases code complexity, making it a bad idea.
--
Lew
Honi soit qui mal y pense.
http://upload.wikimedia.org/wikipedia/commons/c/cf/Friz.jpg
Back to comp.lang.java.programmer | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll 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