一、尽量避免使用重复的语句块:
我们来看一段代码:
//假设 Loop, LoopChild: Word;
//ArrayA, ArrayB: array[0..100] of Char;
//Value: Char;
for Loop := 0 to 100 do
ArrayA[Loop]:= ArrayB[Loop];
for Loop := 0 to 100 do
begin
Value:= ArrayA[Loop];
for LoopChild := 0 to 100 do
...
end;
其实这个就是重复的语句块的执行了,上面的代码我们可以写成:
CopyMemory(@ArrayA[0], @ArrayB[0], SizeOf(ArrayA));
for Loop := 0 to 100 do
begin
Value:= ArrayA[Loop];
for LoopChild := 0 to 100 do
...
end;
二、尽量不要使用 i:= i + x;这样的语句
在DELPHI里高效率的替代语句是Inc(i, x);等同于C中的i += x;
四、不使用if Flag = True then 这样的语句
原因很简单,因为FLAG本来就是BOOLEAN类型的变量,完全没有必要提取他的值来和True比较,直接写成
if Flag then 可以有效的减少执行时间;
同理:
if Value = 0 then
Result:= True
else
Result:= False;
这样的语句也可以直接写成: Result:= Value = 0;
六、尽可能使用整数运算来替代浮点运算
比如 Trunc(a / b) 如果可能的话,优先选择写成 a div b比较好(前提a,b都是整数)
七、循环次数多的循环尽可能的放在循环嵌套的内部
如:for i := 0 to 100 do
for j := 0 to 5 do
...
应该尽量写成:
for j := 0 to 5 do
for i := 0 to 100 do
...
因为每次循环前都需要对循环变量进行初始化操作,把循环次数多的循环放在内循环可以有效的减少这个操作,从而提高执行效率。