Beratung 1
Der Zuordnungsbetrieb von Booleschen Variablen sollte direkt sein. In einer if/then/else -Anweisung weist die IF -Klausel beispielsweise eine boolesche Variable an True zu, und die elsee Klausel zuweist sie falsch. Der folgende Code ist nicht gut geschrieben:
Wenn if_love_delphi dann
Ergebnis: = wahr
anders
Ergebnis: = falsch;
Und so zu schreiben ist besser:
Ergebnisse: = if_love_delphi;
Beratung 2
Vermeiden Sie es, verschachtelte wenn/dann/wenn Anweisungen zu verwenden, und verwenden Sie stattdessen stattdessen. Der folgende Code ist zu wortreich:
Wenn if_love_delphi dann
Wenn if_love_linux dann
Trykylix (jetzt);
Es sollte so geschrieben werden:
if if_love_delphi und if_love_linux dann dann
Trykylix (jetzt);
Machen Sie sich keine Sorgen, dass die nachfolgende Beurteilungserklärung im Voraus ausgeführt wird. Projekt | Optionen | Compiler | Syntaxoptionen | Die Option Boolean Eval wird normalerweise ausgeschaltet (es sei denn, Sie wählen dieses Element aus), wodurch die Ausführungsreihenfolge nicht umgekehrt ist.
Kombinieren Sie die ersten beiden Ratschläge, wenn Sie einen solchen Code haben:
Wenn if_love_delphi dann
Wenn if_love_linux dann
Ergebnis: = wahr;
Sie können es ändern in:
Ergebnisse: = if_love_delphi und if_love_linux;
Einfach ausgedrückt, wenn das Ergebnis von einem bedingten Urteil abhängt, sind Aussagen wie Ergebnis: = True oder Ergebnis: = False unnötig. Bei der Initialisierung von booleschen Variablen können Sie ihnen Werte zuweisen. Es besteht jedoch keine Notwendigkeit, eine boolesche Variable zu False zu initialisieren - Delphi hat sie beim Erstellen dieser Variablen bereits False zugewiesen. Ähnliche Situationen umfassen:
Die Boolesche Eigenschaft des Objekts wird automatisch auf False initialisiert (0);
Ganzzahlvariable (Ganzzahl), automatisch auf 0 initialisiert;
String, automatisch in eine leere Zeichenfolge initialisiert.
Beratung 3
Bei der Beurteilung des Wertes einer booleschen Variablen müssen keine Aussage wie "true" oder "= false" verwendet werden. Das Folgende ist nicht gut geschrieben:
if (if_love_delphi = true) und
(If_love_linux = false) dann
Donottrylinux;
Für den Rückgabewert einer Funktion oder wenn eine Eigenschaft ein boolescher Typ ist, sollte sie so geschrieben werden:
Wenn if_love_delphi und
nicht if_love_linux dann
Donottrylinux;
Beratung 4
Versuchen Sie, den "+" -Preiber nicht für die Zeichenfolge zu verwenden. Dies ist zu ineffizient. Das folgende Beispiel ist nicht gut:
ShowMessage ('' niedrigere Höhe ''+inttoStr (iHeight)+'' m, Gewicht ''+inttoStr (iWeight)+'' Kg. '');
Auf diese Weise zu schreiben wäre besser:
ShowMessage (Format ('' bei niedrigerer Größe %d, Gewicht %d. '', [IHeight, iWeight]));
Beratung 5
Verwenden Sie so viel wie möglich mit Aussagen. Es ist nicht nur effizient, er macht den Code auch lesbarer. Zum Beispiel dieser Code:
Wenn Absender, wenn Tedit dann
if (Tedit (Absender) .Text = '') oder
(TEDIT (Absender) .Text [Tedit (Absender) .SselStart] = '') oder
(TEDIT (Absender) .Sellength =
Länge (Tedit (Absender) .Text))
und (Schlüssel in ['' a '' .. '' z '']))
Schlüssel: = Großbuchstaben (Schlüssel);
Es ist nicht so prägnant und einfach als solcher Code zu lesen:
Wenn der Absender Tedit ist, dann
mit Absender als Tedit tun
if (text = '') oder
(Text [selstart] = '') oder
(Selleng = Länge (Text)) und
(Schlüssel in ['' a '' .. '' z ''] dann
Schlüssel: = oben (Schlüssel);