Ste*_*eve 9 c# delphi coding-style code-formatting
作为Pascal和Delphi很长一段时间的开发人员,我总是将我的开头和结尾排成一行:
begin
if x = y then
begin
...
...
end
else
for i := 0 to 20 do
begin
...
...
end;
end;
Run Code Online (Sandbox Code Playgroud)
让我疯狂的是代码格式化:
begin
if x = y then begin
...
...
end
else
for i := 0 to 20 do begin
...
...
end;
end;
Run Code Online (Sandbox Code Playgroud)
当有几个级别的复合语句时,我发现这很难读.上面的代码是可以的,因为它并不复杂,但为了保持一致性,我更喜欢所有开始和结束对齐.
当我开始使用c#时,我发现自己也在对齐花括号.C#世界的常态是什么?
编辑:
有人指出,这是一个不应该在SO上提出的问题.我不明白为什么不.我正在设置编码指南文档.我知道我会对某些事情产生一些阻力,我希望能在这里得到一些答案,所以我可以随时准备迎接这种阻力.
我个人使用:
if Condition then
begin
DoThis;
end else
begin
DoThat;
end;
Run Code Online (Sandbox Code Playgroud)
请参见对象Pascal样式指南.
在复合if语句中,将每个元素分隔语句放在一个新行上:示例:
// 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;
Run Code Online (Sandbox Code Playgroud)
以下是一些被认为有效的变体:
// 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;
Run Code Online (Sandbox Code Playgroud)