[Lazarus] clarification / Re: constant-highlight ? [Re: quick opinion poll / pascal highlighting "case"]

Jürgen Hestermann juergen.hestermann at gmx.de
Fri May 28 14:20:36 CEST 2010


> Martin schrieb:
> On 26/05/2010 06:06, Jürgen Hestermann wrote:
>> But why have an indentation after BEGIN? There is no new block to
>> start after BEGIN. I would indent like this:
>> begin
>> if foo then
>>    begin
>>    bar := foo;
> Who is to say that the begin is part of the block? (Anyone is free to
> tread it as such, but where is it officially defined?)

For me it's not a matter of definition but of logic. A "block" is a sequence of commands that are executed step by step one after the other. I always align these commands on the same column. A conditional branch or a loop breaks this linear execution so another level of indentation is added. And because a single command is the same kind of block as multiple commands (enclosed with BEGIN/END) it's logical to align them all at the same column. I then see immidiately when a block (of more than 1 command) does not start with a BEGIN or does not end with an END. Having this logic is very important to me so that I can see the order of execution. When having a branch like this

if xxx then
   begin
   ...........
   end
else
   begin
   ...........
   end;

and the number of commands between BEGIN/END is large then I only have to scroll down (with the cursor at the BEGIN) to find the matching END. Same with a loop:

for xxx do
   begin
   .........
   end;

Everything between BEGIN and END is part of the block which is executed by the FOR loop. And the same for REPEAT:

repeat
   .....
   .....
until

It's the same logic, although no BEGIN/END pair is needed. If I would indent one level more with each BEGIN/END then the indentation would be different with or without these indentifiers. When the block consists of only one command or when I have a REPEAT loop then the indentation would be less. To me that's illogical and inconsistend and harder to read.

But, it seems that everybody has got used to his own style so it's unlikely that someone would change their style.





More information about the Lazarus mailing list