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


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

Re: Curious compiler warning

From glen herrmannsfeldt <gah@ugcs.caltech.edu>
Newsgroups comp.lang.java.programmer
Subject Re: Curious compiler warning
Date 2012-01-11 07:50 +0000
Organization Aioe.org NNTP Server
Message-ID <jejf0d$5r2$1@speranza.aioe.org> (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>

Show all headers | View raw


Lew <noone@lewscanon.com> wrote:

(snip)

>> (snip)
>>>>     start--;
>>>>     finish--;
>>>>     bar(start, finish);
>>

(snip, then I wrote)
>> 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?

(snip)
> 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.  

One of the advantages of call by value is that you can use the parameter
as a variable, and change it when needed. 

> 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?

It helps avoid the problem of using two on the same line.  

At least in C, you shouldn't do things like:

 x=y[i++]+y[i++];

I will guess that it isn't a good idea in Java, either.
I wouldn't always put one on a separate line, but sometimes the
extra readability is worth one or two lines.

> 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?  

I would probably only do it in small methods, where it is obvious
that it is used one place. For larger ones, it is too easy to forget,
and then want to use the original value sometime later.

> 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.

(snip)

> 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.

Well, in call by reference languages you have to be careful that you 
don't change something in the calling routine. It is an advantage of
call by value that you can change it because the change goes away.

> 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.

-- glen

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