[fpc-devel] Local variable names and colision with attributes/properties names

Marcos Douglas md at delfire.net
Thu Sep 27 20:36:10 CEST 2012


On Thu, Sep 27, 2012 at 2:43 PM, Michael Van Canneyt
<michael at freepascal.org> wrote:
>
>
> On Thu, 27 Sep 2012, Marcos Douglas wrote:
>
>>>
>>> I hope not :-)
>>
>>
>> Of course the second is (a little) better.
>>
>> But, If you permits:
>> for i := StardValue to EndValue do
>>  MyArray[i] := i;
>>
>> Now is more readable. More verbose than the first but less verbose
>> than second.  ;)
>>
>>> And it's not about the size of variable names. It's just about avoiding
>>> duplicate names which can lead to confusion.
>>
>>
>> You right but:
>> - prefix increases the size   :P
>> - variables abbreviated are more easy to programmers do not use the
>> same names to, objects, primitives variables, etc.
>
>
> Once we had the following code in Delphi:
>
> Procedure TMyComponent.DoSomething;
>
> Var
>   B : String;
> begin
>   // complex code to calculate B. Prop is a property of the component.
>   Prop:=B
> end;
>
> Someone, while fixing a bug, introduced then
>
> Procedure TMyComponent.DoSomething;
>
> Var
>   B : String;
>   Prop : String;
>
> begin
>   // complex code
>   Prop:=B
> end;
>
> And all of a sudden, our program no longer worked. It took us a long time to
> find the error, namely an newly introduced local variable.
>
> This kind of error is simply impossible in objfpc mode.

Ok, I'm convinced.

Marcos Douglas



More information about the fpc-devel mailing list