开始结束是否会影响条件语句的性能?

Him*_*dri 6 delphi syntax performance if-statement

我正在使用Delphi.如果我们if condition以不同的方式写作,它会对性能产生任何影响吗?例如:

if (condition) then
   someVar := someVal
else
   someVar := someOtherVal;  
Run Code Online (Sandbox Code Playgroud)

或者我们可以写:

if (condition) then begin
   someVar := someVal;
end else begin
   someVar := someOtherVal;
end;  
Run Code Online (Sandbox Code Playgroud)

我更喜欢第二种选择,因为它看起来比第一种更好.

Guf*_*ffa 24

不,性能没有差别,创建的代码将是相同的.

可能比第二个选项更好看的一个方面是维护更好.如果你需要在else块中添加另一个语句,你不会忘记添加begin和end,这会把语句放在if之外并且总是被执行.

  • @Andreas:每个人都不像你那么敏锐,而且大多数人都拥有你似乎永远不会拥有的那些时刻.;)编写可维护代码不是要编写可以维护的东西,而是编写大多数程序员可以维护的东西.我最喜欢的是:http://stackoverflow.com/questions/1103299/help-me-understand-this-brian-kernighan-quote (5认同)
  • 如果你使用适当的缩进并知道你在做什么,你怎么可能"不小心忘记添加开头和结尾"?我可以在睡梦中发现缺少`begin`s和`end`s! (2认同)