svn commit: r190098 - in head/sys/sparc64: fhc sparc64

M. Warner Losh imp at bsdimp.com
Sun Mar 22 06:05:08 PDT 2009


In message: <49C5F88C.3070600 at freebsd.org>
            Andriy Gapon <avg at freebsd.org> writes:
: on 22/03/2009 01:57 M. Warner Losh said the following:
: > I'll point out that style(9) doesn't say use as few local variables as
: > possible...  That part is completely unspecified.
: 
: But it does say:
: Do not put declarations inside blocks unless the routine is unusually
: complicated.

Yea, so?  Just put them at the top of the function where they belong
and don't worry about it.  Christoph has a long reason why this isn't bad.

: "unusually complicated" is, of course, a very subjective measure.
: But still this guideline contradicts typical guidelines for C and its
: offspring which name we do not say to declare variables as close to
: their first usage as possible.

thousands of lines is unusually complicated.

: E.g. you can have a simple 3 line block where you need a local variable
: but that block is located 50 lines from start of an enclosing function.
: Very convenient when you need to quickly glance the variable's type (not).

No you don't.  There's absolutely nothing wrong with putting them at
the top.  In fact, it is simpler, really, than having to go hunting
for dozens of different declarations.  As someone who has spent a lot
of time looking at code, the time wasted looking for these damn-fool
things really adds up.

The original point is valid: the code changes obfuscated perfectly
readable code for no gain in the object code.

Warner


More information about the svn-src-all mailing list