Re: Coding style question

From: Nolan Cafferky <Nolan(dot)Cafferky(at)qualitysmith(dot)com>
To: pgsql-hackers(at)postgresql(dot)org
Subject: Re: Coding style question
Date: 2006-11-02 20:37:33
Message-ID: 454A570D.9050901@qualitysmith.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers


> I think Tom stated it pretty well:
>
> When the variable is going to be set anyway in straight-line code
> at the top of the function, then it's mostly a matter of taste
> whether you set it with an initializer or an assignment.
>
> the key phrase is: "set anyway in straigh-tline code /at the top of
> the function//_"_/
>> > (I don't go so far as to introduce artificial scopes just for the sake
>> > of nesting variable declarations).
>>
>> I don't introduce artificial scopes either. However, I do try to declare
>> variables in the most-tightly-enclosing scope. For example, if a
>> variable is only used in one branch of an if statement, declare the
>> variable inside that block, not in the enclosing scope.
>>
> good...
This may not inform the current conversation at all, but a while back I
went on a cross-compiler compatibility binge for all of my active
projects, and I found that some compilers (*cough* Borland *cough) had
some very strange compiler/run time errors unless all variables were
declared at the top of the function, before any other code gets
executed. For better or for worse, I started strictly declaring all
variables in this manner, with initialization happening afterward, and
the behavior has stuck with me. I don't know whether any compilers used
for postgres builds still have this issue - it's been a few years.
>> I also find that if you're declaring a lot of variables in a single
>> block, that's usually a sign that the block is too large and should be
>> refactored (e.g. by moving some code into separate functions). If you
>> keep your functions manageably small (which is not always the case in
>> the Postgres code, unfortunately), the declarations are usually pretty
>> clearly visible.
>>
>
> I couldn't agree more.
>
Insert emphatic agreement here. Refactoring into smaller functions or
doing a bit of object orientation almost always solves that readability
problem for me.

--
Nolan Cafferky
Software Developer
IT Department
RBS Interactive
nolan(dot)cafferky(at)rbsinteractive(dot)com

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Stephen Frost 2006-11-02 20:43:09 Re: Design Considerations for New Authentication Methods
Previous Message Richard Troy 2006-11-02 20:26:58 Re: Design Considerations for New Authentication Methods