[alt.peeves] C style peeve

jgk@osc.COM (Joe Keane) (03/17/90)

Here's my biggest C style peeve.  For some reason, many C programmers insist
on always putting parentheses around return values, even when they're not
necessary, which happens to be always.  God knows why, but they write
`return(2+2);' instead of the obvious and K&R-approved style `return 2+2;'.

It's a shame the compiler lets them get away with it, and i think the extra
parentheses should be strictly illegal.  Unfortunately, for some reason the
ANSI committee didn't like this suggestion.  Apparently it would break
existing code, you know the same code that assumes you can determine whether
your program is demand-pages by examining the contents of word 0.

So why do people do this?  I guess they think return is a function, although
you never know what's inside some people's heads.  I think they don't
understand what a control structure is, and what the parentheses in if, while,
and switch statements are for.  I wonder how many times they write `break();'
or `goto(label);' and scratch their heads trying to figure out what's wrong
with the compiler.

I know there are a lot of people that do this, so i'm probably putting my life
in jeopardy by making this post.  I'm sure some of you will be insulted by my
criticism of your coding style, and will get all defensive.  I've heard all
the defenses, like ``it makes it clearer'' (yeah right!), so don't bother
posting yours.  Just think about it.  Thanks.  Oh yeah, the second paragraph
is completely false.

henry@utzoo.uucp (Henry Spencer) (03/18/90)

In article <2205@osc.COM> jgk@osc.COM (Joe Keane) writes:
>Here's my biggest C style peeve.  For some reason, many C programmers insist
>on always putting parentheses around return values...
>So why do people do this? ...

Partly because it used to be required, long ago, and partly because most
of the other C control structures that contain expressions still require it
and so people are used to it.  There might also be some PL/I influence on
some of the newcomers.
-- 
MSDOS, abbrev:  Maybe SomeDay |     Henry Spencer at U of Toronto Zoology
an Operating System.          | uunet!attcan!utzoo!henry henry@zoo.toronto.edu

eric@snark.uu.net (Eric S. Raymond) (03/20/90)

In <1990Mar18.005833.12944@utzoo.uucp> Henry Spencer wrote:
> In article <2205@osc.COM> jgk@osc.COM (Joe Keane) writes:
> >Here's my biggest C style peeve.  For some reason, many C programmers insist
> >on always putting parentheses around return values...
> >So why do people do this? ...
> 
> Partly because it used to be required, long ago, and partly because most
> of the other C control structures that contain expressions still require it
> and so people are used to it.  There might also be some PL/I influence on
> some of the newcomers.

I was a `second-generation' C programmer -- I date back to the waning days of
V7. I have the quirk Mr. Keane dislikes, and I think it's because it `used to
be required' -- but I didn't know that when I was learning, I just emulated
the style of the good C code I had around as examples.

I use monocase function and variable names and avoid bitfields and enums for
the same reason, early habits that have just stuck with me. I suspect the same
is true of many C programmers besides myself. No PL/I hypothesis required!

My indentation style is still influenced by previous years of Pascal coding, 
but that's another story...
-- 
      Eric S. Raymond = eric@snark.uu.net    (mad mastermind of TMN-Netnews)