Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How do you format your Compound Statements in Delphi and C#? [closed]

As a long time Pascal and Delphi developer, I always line up my begin and ends thus :

begin
  if x = y then
  begin
     ...
     ...
  end
  else
    for i := 0 to 20 do
    begin
      ...
      ...
    end;
end;

What drives me nuts is code formatted thus :

begin
  if x = y then begin
     ...
     ...
  end
  else
    for i := 0 to 20 do begin
      ...
      ...
    end;
end;

When there are a few levels of compound statements I find this hard to read. The above code is ok, because it's not that complicated, but for consistency I'd prefer all begins and ends aligned.

As I start using c#, I find myself aligning curly brackets too. What's the norm in the C# world?

Edit :

Someone has pointed out that this is the type of question that shouldn't be asked on SO. I don't see why not. I'm in the process of setting up a coding guidelines document. I know I'll get some resistance to certain things, I'm hoping to get a few answers here, so I can be ready to meet that resistance head-on.

like image 488
Steve Avatar asked Nov 14 '08 10:11

Steve


People also ask

How are compound statements created in C?

A compound statement (also called a "block") typically appears as the body of another statement, such as the if statement. Declarations and Types describes the form and meaning of the declarations that can appear at the head of a compound statement.

What are the compound statements in C?

A compound statement is a sequence of zero or more statements enclosed within curly braces. Compound statements are frequently used in selection and loop statements. They enable you to write loop bodies that are more than one statement long, among other things. A compound statement is sometimes called a block.

What is required to create a compound statement?

A compound statement is simply a group of statements surrounded by curly braces. It can be used anywhere that a simple statement can be used to make a group of statements into a single entity. In the example above, the three assignment statements form a compound statement because they are enclosed in the curly braces.


1 Answers

I personally use:

if Condition then
begin
  DoThis;
end else
begin
  DoThat;
end;

See Object Pascal Style Guide.

In compound if statements, put each element separating statements on a new line: Example:

// INCORRECT
if A < B then begin
  DoSomething; 
  DoSomethingElse;
end else begin
  DoThis;
  DoThat;
end;

// CORRECT
if A < B then 
begin
  DoSomething; 
  DoSomethingElse;
end 
else 
begin
  DoThis;
  DoThat;
end;

Here are a few more variations that are considered valid:

// CORRECT
if Condition then
begin
  DoThis;
end else
begin
  DoThat;
end;

// CORRECT
if Condition then
begin
  DoThis;
end
else
  DoSomething;

// CORRECT
if Condition then
begin
  DoThis;
end else
  DoSomething;
like image 171
Eugene Yokota Avatar answered Sep 28 '22 10:09

Eugene Yokota