至于为什么不用WITH语句,那是因为WITH语句极其影响代码的可读性。我看过的最多的有嵌套5层WITH的,以至于在维护这段代码的时候碰到一个标识符就需要用DELPHI的IDE跟踪一下到底它是定义在什么地方的。
WITH语句的确可以稍微提高点效率,但是在协同开发的时候,这种以增加维护量、降低可读性的代码来换取这少少的效率是得不偿失的。
其实提高效率也不在这一点上;选择合理的语句块,优化代码都可以明显的提高执行效率,举个例子:
for i := 0 to 100 do
a[ i ]:= ...;
for i := 0 to 100 do
begin
value:= a[ i ];
for j := 0 to 100 do
....
end;
这样浪费的执行效率我想不是一个WITH可以弥补回来的,如果可以写成:
for i := 0 to 100 do
begin
value:= ...;
for j := 0 to 100 do
...;
end;
这样大家可以算一下可以节省多少个运算周期;
关于更多的提高执行效率的内容,其实可以整理出一份文档,这里就不多说了
[ 本帖最后由 bahamut8348 于 2008-3-21 22:00 编辑 ]
|