アドバイス1
ブール変数の割り当て操作は直接的でなければなりません。たとえば、if/then/elseステートメントでは、if句はブール変数をtrueに割り当て、else句はそれをfalseに割り当てます。次のコードはうまく記述されていません:
if_love_delphiの場合
結果:= true
それ以外
結果:= false;
そして、この方法を書く方が良いです:
結果:= if_love_delphi;
アドバイス2
ネストされたif/then/if attatementを使用しないでください。代わりに使用して代わりに使用します。次のコードはあまりにも言葉があります:
if_love_delphiの場合
if_love_linuxの場合
trykylix(現在);
このように書くべきです:
if_love_delphiおよびif_love_linuxの場合
trykylix(現在);
後続の判断声明が事前に実行されることを心配しないでください。プロジェクト|オプション|コンパイラ|構文|構文オプション|完全なブール評価オプションは、通常(このアイテムを選択しない限り)オフになります。これにより、実行順序が逆転しないようにします。
このようなコードがある場合、最初の2つのアドバイスを組み合わせてください。
if_love_delphiの場合
if_love_linuxの場合
結果:= true;
あなたはそれを次のように変更することができます:
結果:= if_love_delphiおよびif_love_linux;
簡単に言えば、結果が条件付き判断に依存する場合、結果:= trueまたはresult:= falseなどのステートメントは不要です。ブール変数を初期化するとき、それらに値を割り当てることができます。ただし、ブール変数をFalseに初期化する必要はありません。Delphiは、この変数を作成するときに既にFalseに割り当てています。同様の状況には次のものがあります。
オブジェクトのブールプロパティは、false(0)に自動的に初期化されます。
整数変数(整数)、自動的に0に初期化されます。
文字列、空の文字列に自動的に初期化されています。
アドバイス3
ブール変数の値を判断する場合、「= true」または「= false」などのステートメントを使用する必要はありません。以下はよく書かれていません:
if(if_love_delphi = true)and
(if_love_linux = false)その後
donottrylinux;
関数の返品値の場合、またはプロパティがブール型の場合、次のように記述する必要があります。
if_love_delphiおよび
if_love_linuxではありません
donottrylinux;
アドバイス4
文字列の合併には「+」演算子を使用しないようにしてください。これは非効率的です。次の例は良くありません:
showmessage( '' lower height ''+inttostr(iheight)+'' m、weight ''+inttostr(iweight)+'' kg。 '');
この方法を書く方が良いでしょう:
showmessage(format( '' at at a height%d、weight%d。 ''、[iheight、iweight]));
アドバイス5
できるだけステートメントで使用します。効率的であるだけでなく、コードをより読みやすくします。たとえば、このコード:
送信者の場合は、teditの場合
if(tedit(sender).text = '')または
(tedit(sender).text [tedit(sender).selstart] = '')or
(tedit(sender).sellength =
長さ(tedit(sender).text))
および(['' a '' .. '' z '']のキー)
キー:=大文字(key);
そのようなコードほど簡潔で読みやすいものではありません:
送信者がteditである場合
Teditのように送信者と
if(text = '')または
(text [selstart] = '')または
(sellength = length(text))and
(['' a '' .. '' z ''のキー]
キー:= upcase(key);