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


Groups > comp.lang.c > #63070

Re: Do variables need to be initialized?

From Bartc <bc@freeuk.com>
Newsgroups comp.lang.c
Subject Re: Do variables need to be initialized?
Date 2015-06-08 14:10 +0100
Organization A noiseless patient Spider
Message-ID <ml446m$bb1$1@dont-email.me> (permalink)
References (5 earlier) <mkslqf$srg$1@dont-email.me> <1bpp59h7go.fsf@pfeifferfamily.net> <ctf8tcF23b8U1@mid.individual.net> <1blhfwh7i2.fsf@pfeifferfamily.net> <4450dd92-34e2-47fd-a5f7-ad5da054057a@googlegroups.com>

Show all headers | View raw


On 08/06/2015 13:39, gwowen wrote:
> On Saturday, June 6, 2015 at 10:06:22 PM UTC+1, Joe Pfeiffer wrote:
>
>> If the search is non-trivial, the function is too long.  If the
>> variables aren't all declared together, you still have to scan the
>> 20-line function to figure out where they are.  That search is trivial,
>> but still present.
>
> Nope.  If the function is short, and declarations are at point-of-first-use then the majority of time the search is non existent - the declaration is right there within a line or two of the use.
>

Which expression is easier to take in:

  double a,b,c;

  x=(-b + sqrt(b*b - 4*a*c)) / (2*a);

or:

  double x = (- double b + sqrt(b*b - 4 * double a*double c) / (2*a);

(I know this is not C syntax but it's the same principle of mixing 
things up that shouldn't be mixed up.)

Take another example:

  point *p1 *p2, *p3;

Here, I don't really need to write anything further, as that declaration 
is sufficient: those p1, p2, and p3 variables are clearly related. That 
relationship is lost if the declarations are split up because each is 
first used in a different place.

I can also tell from this that they only go up to p3, and there isn't a 
p4 lurking somewhere else.

Also, if I need change from point* to point2d* for example, it's a lot 
easier when the declarations are grouped in one place.

 > Nope.  If the function is short, and declarations are at 
point-of-first-use then the majority of time the search is non existent

What is a short function? Real code is full of long variable names 
(often similar to each other), comments, conditional code, strange brace 
styles, all sorts of junk that can make it easy to miss something even 
when the function is 'short'.

 >the declaration is right there within a line or two of the use.

Only if a variable is only used once or twice within a few lines of its 
declaration.

Anyway you can't use this technique with parameter names; people seem to 
cope. Unless you suggest parameter names should only be used within the 
first three lines of the function.

-- 
Bartc

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


Thread

Do variables need to be initialized? fl <rxjwg98@gmail.com> - 2015-06-01 16:48 -0700
  Re: Do variables need to be initialized? Richard Heathfield <rjh@cpax.org.uk> - 2015-06-02 00:55 +0100
    Re: Do variables need to be initialized? Joe Pfeiffer <pfeiffer@cs.nmsu.edu> - 2015-06-01 18:22 -0600
      Re: Do variables need to be initialized? Keith Thompson <kst-u@mib.org> - 2015-06-02 08:05 -0700
        Re: Do variables need to be initialized? Tim Rentsch <txr@alumni.caltech.edu> - 2015-07-11 08:07 -0700
          Re: Do variables need to be initialized? Keith Thompson <kst-u@mib.org> - 2015-07-11 16:47 -0700
            Re: Do variables need to be initialized? Tim Rentsch <txr@alumni.caltech.edu> - 2015-07-15 07:42 -0700
      Re: Do variables need to be initialized? Tim Rentsch <txr@alumni.caltech.edu> - 2015-07-11 08:03 -0700
  Re: Do variables need to be initialized? David Brown <david.brown@hesbynett.no> - 2015-06-02 09:15 +0200
    Re: Do variables need to be initialized? Tim Rentsch <txr@alumni.caltech.edu> - 2015-07-11 08:09 -0700
  Re: Do variables need to be initialized? David Kleinecke <dkleinecke@gmail.com> - 2015-06-03 09:30 -0700
    Re: Do variables need to be initialized? gwowen <gwowen@gmail.com> - 2015-06-03 09:41 -0700
      Re: Do variables need to be initialized? David Kleinecke <dkleinecke@gmail.com> - 2015-06-04 10:17 -0700
        Re: Do variables need to be initialized? Stephen Sprunk <stephen@sprunk.org> - 2015-06-05 11:10 -0500
          Re: Do variables need to be initialized? Bartc <bc@freeuk.com> - 2015-06-05 18:22 +0100
            Re: Do variables need to be initialized? Joe Pfeiffer <pfeiffer@cs.nmsu.edu> - 2015-06-05 20:54 -0600
              Re: Do variables need to be initialized? Ian Collins <ian-news@hotmail.com> - 2015-06-06 15:49 +1200
                Re: Do variables need to be initialized? Dr Nick <nospam-4@temporary-address.org.uk> - 2015-06-06 08:42 +0100
                Re: Do variables need to be initialized? Keith Thompson <kst-u@mib.org> - 2015-06-06 13:11 -0700
                Re: Do variables need to be initialized? Dr Nick <nospam-4@temporary-address.org.uk> - 2015-06-07 16:58 +0100
                Re: Do variables need to be initialized? Bartc <bc@freeuk.com> - 2015-06-06 11:01 +0100
                Re: Do variables need to be initialized? Ian Collins <ian-news@hotmail.com> - 2015-06-07 09:07 +1200
                Re: Do variables need to be initialized? Joe Pfeiffer <pfeiffer@cs.nmsu.edu> - 2015-06-06 15:06 -0600
                Re: Do variables need to be initialized? gwowen <gwowen@gmail.com> - 2015-06-08 05:39 -0700
                Re: Do variables need to be initialized? Bartc <bc@freeuk.com> - 2015-06-08 14:10 +0100
                Re: Do variables need to be initialized? Ben Bacarisse <ben.usenet@bsb.me.uk> - 2015-06-08 14:21 +0100
                Re: Do variables need to be initialized? Bartc <bc@freeuk.com> - 2015-06-08 14:34 +0100
                Re: Do variables need to be initialized? David Brown <david.brown@hesbynett.no> - 2015-06-08 16:51 +0200
                Re: Do variables need to be initialized? Richard Heathfield <rjh@cpax.org.uk> - 2015-06-08 16:15 +0100
                Re: Do variables need to be initialized? Bartc <bc@freeuk.com> - 2015-06-08 17:31 +0100
                Re: Do variables need to be initialized? Ian Collins <ian-news@hotmail.com> - 2015-06-09 08:06 +1200
                Re: Do variables need to be initialized? Bartc <bc@freeuk.com> - 2015-06-08 22:58 +0100
                Re: Do variables need to be initialized? Keith Thompson <kst-u@mib.org> - 2015-06-08 08:27 -0700
                Re: Do variables need to be initialized? gwowen <gwowen@gmail.com> - 2015-06-08 08:01 -0700
            Re: Do variables need to be initialized? Stephen Sprunk <stephen@sprunk.org> - 2015-06-06 11:11 -0500
              Re: Do variables need to be initialized? Bartc <bc@freeuk.com> - 2015-06-06 19:09 +0100
                Re: Do variables need to be initialized? Robert Wessel <robertwessel2@yahoo.com> - 2015-06-06 13:57 -0500
                Re: Do variables need to be initialized? Keith Thompson <kst-u@mib.org> - 2015-06-06 13:52 -0700
                Re: Do variables need to be initialized? James Kuyper <jameskuyper@verizon.net> - 2015-06-06 20:57 -0400
                Re: Do variables need to be initialized? Stephen Sprunk <stephen@sprunk.org> - 2015-06-10 14:33 -0500
          Re: Do variables need to be initialized? Keith Thompson <kst-u@mib.org> - 2015-06-05 10:56 -0700

csiph-web