svn commit: r190098 - in head/sys/sparc64: fhc sparc64
julian at elischer.org
Sun Mar 22 11:20:58 PDT 2009
M. Warner Losh wrote:
> 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.
and in a complicated function, if you have them all over the place you
have no idea as to what the potential stack usage of the function is..
This matters in the kernel.
> The original point is valid: the code changes obfuscated perfectly
> readable code for no gain in the object code.
More information about the svn-src-all