內容來源:http://www.delphiguys.com/rensheng/2007-2-11/ShiDaiMaJianJiDe-5-TiaoZhongGao_0.htm
一、Boolean值操作應該是直接的
if If_Love_Delphi then
Result:=True
else
Result:=False;
改成這樣寫比較好:
Result:= If_Love_Delphi;
二、避免使用 if/then/if ,而用and来代替
例1:
if If_Love_Delphi then
if If_Love_Linux then
TryKylix(Now);
改成這樣寫比較好:
if If_Love_Delphi and If_Love_Linux then
TryKylix(Now);
例2:
if If_Love_Delphi then
if If_Love_Linux then
Result:=True;
改成這樣寫比較好:
Result:= If_Love_Delphi and If_Love_Linux;
三、判斷boolean值時不需用"=True","=False"
if (If_Love_Delphi=True) and
(If_Love_Linux=False) then
DoNotTryLinux;
改成這樣寫比較好:
if If_Love_Delphi and
not If_Love_Linux then
DoNotTryLinux;
四、盡量不要用"+"來進行字串合併
ShowMessage('在下身高'+IntToStr(iHeight)+'米,体重'+IntToStr(iWeight)+'公斤。');
改成這樣寫比較好:
ShowMessage(Format('在下身高%d,体重%d。', [iHeight,iWeight]));
五、盡量多用With,它不儘效率高,而且使程式碼更加容易讀
if Sender if TEdit then
if (TEdit(Sender).Text=') or
(TEdit(Sender).Text[TEdit(Sender).SelStart]=') or
(TEdit(Sender).SelLength=Length(TEdit(Sender).Text)) and
(Key in ['a'..'z']) then
Key:=UpperCase(Key);
改成這樣寫比較好:
if Sender is TEdit then
with Sender as TEdit do
if (Text=') or (Text[SelStart]=') or
(SelLength=Length(Text)) and (Key in ['a'..'z'] then
Key:=UpCase(Key);
1 則留言:
但過度的縮減程式碼可能或造成可讀性的減少
比如
二、避免使用 if/then/if ,而用and来代替
太多AND 時就會造成可讀性的減少
或者
五、盡量多用With
會讓CODEING 除錯更麻煩
不知你是否也同意
張貼留言