Ged*_*ias 9 delphi coding-style
procedure MyProc(Eval: Boolean);
begin
if not Eval then
Exit;
/* do stuff */
/* do more stuff */
end;
Run Code Online (Sandbox Code Playgroud)
要么
procedure MyProc(Eval: Boolean);
begin
if Eval then
begin
/* do stuff */
/* do more stuff */
end;
/* no Exit needed, but now we got what I think unpleasing code:
having a indentation level and a begin-end statement */
end;
Run Code Online (Sandbox Code Playgroud)
小智 16
有些情况下,任何一种方法都是合适的.然而,通常,第一个提供更可读的代码和更好的控制流.我对Delphi编程不太熟悉,但在C#中我总是尽可能使用前者.从表面上看,我认为这种方法在Delphi中没有任何不同.
列举一些优点:
不过,有些情况下第二种选择更合适.特别是,当需要将方法分成子部分时(尽管这通常表示您需要重构).
Dav*_*veR 10
我认为这是一个偏好问题.但是,如果您在执行"实际工作"之前必须执行许多检查,那么第一个表单(IMO)看起来更整洁,并且更容易遵循流程.例如:
procedure MyProc(Eval: Boolean);
begin
if not Eval then
Exit;
if not Eval2 then
Exit;
/* do stuff */
/* do more stuff */
end;
Run Code Online (Sandbox Code Playgroud)
VS
procedure MyProc(Eval: Boolean);
begin
if Eval then
begin
if Eval2 then
begin
/* do stuff */
/* do more stuff */
end;
end;
end;
Run Code Online (Sandbox Code Playgroud)
小智 1
我可以请求一下,如果您确实使用第二种形式,请不要添加无缘无故的缩进级别。所以代替:
procedure MyProc(Eval: Boolean);
begin
if Eval then
begin
/* do stuff */
/* do more stuff */
end;
/* no Exit needed, but now we got what I think unpleasing code:
having a indentation level and a begin-end statement */
end;
Run Code Online (Sandbox Code Playgroud)
说:
procedure MyProc(Eval: Boolean);
begin
if Eval then
begin
/* do stuff */
/* do more stuff */
end;
/* no Exit needed, but now we got what I think unpleasing code:
having a indentation level and a begin-end statement */
end;
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
649 次 |
最近记录: |