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


Groups > comp.lang.c > #20798

Re: Redundant return()

From "BartC" <bc@freeuk.com>
Newsgroups comp.lang.c
Subject Re: Redundant return()
Date 2012-05-15 12:20 +0100
Organization A noiseless patient Spider
Message-ID <jote6e$5e0$1@dont-email.me> (permalink)
References <jomldo$t8f$1@speranza.aioe.org> <m0qtq7tombg6lrdkvk47hsodp6i39i9jut@4ax.com> <jorci2$5pa$1@speranza.aioe.org> <27375124.1151.1337067212163.JavaMail.geo-discussion-forums@vbip22> <return-20120515095002@ram.dialup.fu-berlin.de>

Show all headers | View raw


"Stefan Ram" <ram@zedat.fu-berlin.de> wrote in message
news:return-20120515095002@ram.dialup.fu-berlin.de...
>>On Monday, May 14, 2012 5:40:34 PM UTC+1, pembed2012 wrote:
>>>Ho, you are right, I can invoke the return function with no () and there
>>>is no compiler error. Wired.
>
>  The supposed spelling is »wierd«.
>
> nick_keighley_nospam@hotmail.com writes:
>>some odd misconceptions. An early return can be handy.
>
>  »handy« is vague wording.
>
>>if (log == NULL)
>>    return;
>>/* complex processing */
>
>  If it is complex, we put it into a function »f«, so:
>
> if( log ){ f(); fprintf( log, "LOG: %s\n", msg ); }

This is crazy. The effect is to create an extra function (the current one)
which contains just a single statement, more or less.

If the return was half-way through the function, you'd then be splitting it
into two for probably no reason, and would have the headache of making all
the locals which have been used and set up, available to the new function.

>  If it is complex, we put it into a function »f«, so:

But the body of f() will still be complex (as you've only eliminated a
couple of lines; it that now makes it simple, then it was *not* complex!);
then what? Suppose there were several such returns in a function? You would
end up *increasing* complexity (by extra functions, extra names, extra
interfaces) for no discernible benefit. Actually it would be probably be
slower, less readable, and more buggy.

-- 
Bartc
 

Back to comp.lang.c | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread


Thread

Redundant return() pembed2012 <once@was.enough.invalid> - 2012-05-12 21:41 +0000
  Re: Redundant return() pembed2012 <once@was.enough.invalid> - 2012-05-12 21:56 +0000
    Re: Redundant return() Joe Pfeiffer <pfeiffer@cs.nmsu.edu> - 2012-05-12 17:07 -0600
  Re: Redundant return() James Kuyper <jameskuyper@verizon.net> - 2012-05-12 18:46 -0400
    Re: Redundant return() Eric Sosman <esosman@ieee-dot-org.invalid> - 2012-05-12 20:10 -0400
      Re: Redundant return() James Kuyper <jameskuyper@verizon.net> - 2012-05-12 21:29 -0400
  Re: Redundant return() Barry Schwarz <schwarzb@dqel.com> - 2012-05-12 15:49 -0700
    Re: Redundant return() pembed2012 <once@was.enough.invalid> - 2012-05-14 16:40 +0000
      Re: Redundant return() Ben Bacarisse <ben.usenet@bsb.me.uk> - 2012-05-14 17:57 +0100
      Re: Redundant return() nick_keighley_nospam@hotmail.com - 2012-05-15 00:33 -0700
        Re: Redundant return() nick_keighley_nospam@hotmail.com - 2012-05-15 03:03 -0700
          Re: Redundant return() nick_keighley_nospam@hotmail.com - 2012-05-15 03:26 -0700
          Re: Redundant return() James Kuyper <jameskuyper@verizon.net> - 2012-05-15 08:51 -0400
        Re: Redundant return() "BartC" <bc@freeuk.com> - 2012-05-15 12:20 +0100
          Re: Redundant return() Ian Collins <ian-news@hotmail.com> - 2012-05-16 07:59 +1200
            Re: Redundant return() Kaz Kylheku <kaz@kylheku.com> - 2012-05-15 20:08 +0000
              Re: Redundant return() Ian Collins <ian-news@hotmail.com> - 2012-05-16 08:18 +1200
                Re: Redundant return() Lanarcam <lanarcam1@yahoo.fr> - 2012-05-15 22:48 +0200
                Re: Redundant return() Ian Collins <ian-news@hotmail.com> - 2012-05-16 09:56 +1200
            Re: Redundant return() "BartC" <bc@freeuk.com> - 2012-05-15 22:59 +0100
              Re: Redundant return() Ian Collins <ian-news@hotmail.com> - 2012-05-16 10:16 +1200
                Re: Redundant return() "BartC" <bc@freeuk.com> - 2012-05-16 09:29 +0100
        Re: Redundant return() Eric Sosman <esosman@ieee-dot-org.invalid> - 2012-05-15 07:51 -0400
        Re: Redundant return() James Kuyper <jameskuyper@verizon.net> - 2012-05-15 08:47 -0400
          Re: Redundant return() Ian Collins <ian-news@hotmail.com> - 2012-05-16 08:01 +1200
          Re: Redundant return() "BartC" <bc@freeuk.com> - 2012-05-15 22:58 +0100
            Re: Redundant return() Ian Collins <ian-news@hotmail.com> - 2012-05-16 10:24 +1200
              Re: Redundant return() James Kuyper <jameskuyper@verizon.net> - 2012-05-15 18:39 -0400
              Re: Redundant return() nick_keighley_nospam@hotmail.com - 2012-05-16 02:45 -0700
  Re: Redundant return() Noob <root@127.0.0.1> - 2012-05-16 13:34 +0200

csiph-web