B
Bahl
Unregistered / Unconfirmed
GUEST, unregistred user!
1.用常量来测试布尔类型的变量。
没人会指望这样写(如果你这样写了,快醒醒吧,它简直是一场恶梦!)
if ((x > y) = TRUE)
为什么不这样写呢?
if b = TRUE
2.用IF语句来为变量赋不同的布尔值。
为什么要这样写呢?
if (x > y)
then
result := True
else
result := False;
这样写既简便又清楚
result := (x > y);
3.为什么要这样写呢?(尽管在VCL中这种写法到处都有)
procedure foo;
begin
if condition1 then
exit;
if condition2 then
exit;
. . .
end;
这样写更简便更清楚
procedure foo;
begin
if not (condition1 or condition2)
then
begin
. . .
end
end;
4.为什么使用一个FOR循环来搜索数组呢?
result := false;
for i := 0 to (elementCount - 1) do
begin
if anArray = searchFor
then
begin
result := true;
break;
end;
end;
难道下面的代码不更高效,不更清楚吗?
i := elementCount;
repeat
dec (i);
until (i < 0) or (anArray = searchFor);
result := (i >= 0);
下面的代码也不赖
i := elementCount - 1;
while (i >= 0) and (anArray <> searchFor) do
dec (i);
result := (i >= 0);
没人会指望这样写(如果你这样写了,快醒醒吧,它简直是一场恶梦!)
if ((x > y) = TRUE)
为什么不这样写呢?
if b = TRUE
2.用IF语句来为变量赋不同的布尔值。
为什么要这样写呢?
if (x > y)
then
result := True
else
result := False;
这样写既简便又清楚
result := (x > y);
3.为什么要这样写呢?(尽管在VCL中这种写法到处都有)
procedure foo;
begin
if condition1 then
exit;
if condition2 then
exit;
. . .
end;
这样写更简便更清楚
procedure foo;
begin
if not (condition1 or condition2)
then
begin
. . .
end
end;
4.为什么使用一个FOR循环来搜索数组呢?
result := false;
for i := 0 to (elementCount - 1) do
begin
if anArray = searchFor
then
begin
result := true;
break;
end;
end;
难道下面的代码不更高效,不更清楚吗?
i := elementCount;
repeat
dec (i);
until (i < 0) or (anArray = searchFor);
result := (i >= 0);
下面的代码也不赖
i := elementCount - 1;
while (i >= 0) and (anArray <> searchFor) do
dec (i);
result := (i >= 0);