Conselho 1
A operação de atribuição de variáveis booleanas deve ser direta. Por exemplo, em uma instrução if/then/else, a cláusula if atribui uma variável booleana a verdadeira, e a cláusula else a atribui a false. O código a seguir não está bem escrito:
Se If_Love_Delphi, então
Resultado: = true
outro
Resultado: = false;
E escrever assim é melhor:
Resultados: = if_love_delphi;
Conselho 2
Evite usar as instruções IF/Then/if aninhadas e, em vez disso, use e, em vez disso,. O código a seguir é muito prolixo:
Se If_Love_Delphi, então
If IF_Love_Linux, então
Trykylix (agora);
Deve ser escrito assim:
Se If_Love_Delphi e IF_Love_Linux, então
Trykylix (agora);
Não se preocupe, pois a declaração subsequente de julgamento será executada com antecedência. Projeto | Opções | Compilador | Opções de sintaxe | A opção completa de avaliação booleana geralmente é desligada (a menos que você selecione este item), o que garante que a ordem de execução não seja revertida.
Combinando os dois primeiros conselhos, se você tiver um código como este:
Se If_Love_Delphi, então
If IF_Love_Linux, então
Resultado: = true;
Você pode alterar para:
Resultados: = IF_LOVE_DELPHI e IF_LOVE_LINUX;
Simplificando, se o resultado depende de um julgamento condicional, as declarações como resultado: = true ou resultado: = false são desnecessárias. Ao inicializar as variáveis booleanas, você pode atribuir valores a elas. No entanto, não há necessidade de inicializar uma variável booleana para false - Delphi já o atribuiu ao FALSE ao criar essa variável. Situações semelhantes incluem:
A propriedade booleana do objeto é automaticamente inicializada para false (0);
Variável inteira (número inteiro), inicializado automaticamente para 0;
String, inicializada automaticamente em uma string vazia.
Conselho 3
Ao julgar o valor de uma variável booleana, não há necessidade de usar uma declaração como "= true" ou "= false". O seguinte não está bem escrito:
if (if_love_delphi = true) e
(If_love_linux = false) Então
DonottryLinux;
Para o valor de retorno de uma função ou se uma propriedade for do tipo booleano, deve ser escrita assim:
se If_love_delphi e
não se_love_linux então
DonottryLinux;
Conselho 4
Tente não usar o operador "+" para fusão de string. Isso é muito ineficiente. O exemplo a seguir não é bom:
ShowMessage ('' 'baixa altura' '+inttostr (iHeight)+' 'm, peso' '+inttoStr (iweight)+' 'kg.' ');
Escrever dessa maneira seria melhor:
ShowMessage (formato ('' na altura inferior %d, peso %d. '', [IHeight, iweight]));
Conselho 5
Use com declarações o máximo possível. Não é apenas eficiente, mas também torna o código mais legível. Por exemplo, este código:
Se o remetente se Tedit então
if (TEDIT (remetente) .Text = '') ou
(TEDIT (remetente) .Text [TEDIT (remetente) .SselStart] = '') ou
(TEDIT (remetente) .selngth =
Comprimento (TEDIT (remetente) .Text)))
e (chave em ['' a '' .. '' z '']) então
Chave: = uppercase (chave);
Não é tão conciso e fácil de ler como esse código:
Se o remetente for Tedit, então
com o remetente como o tedit
if (text = '') ou
(Texto [SelStart] = '') ou
(Comprimento de venda = comprimento (texto)) e
(Chave em ['' a '' .. '' z ''] então
Chave: = upcase (chave);