Совет 1
Работа на назначении логических переменных должна быть прямой. Например, в операторе if/then/else пункт if присваивает логическую переменную истину, а предложение ELSE присваивает ее false. Следующий код не написан хорошо:
Если if_love_delphi, тогда
Результат: = true
еще
Результат: = false;
И писать таким образом лучше:
Результаты: = if_love_delphi;
Совет 2
Избегайте использования вложенных операторов if/then/if, а вместо этого используйте и вместо этого. Следующий код слишком многословный:
Если if_love_delphi, тогда
Если if_love_linux, тогда
Trykylix (сейчас);
Это должно быть написано так:
if_love_delphi и if_love_linux тогда
Trykylix (сейчас);
Не волнуйтесь, что последующее заявление о суде будет выполнено заранее. Проект | Параметры | Компилятор | Синтаксические параметры | Полная логическая опция Eval обычно отключается (если вы не выбираете этот элемент), что гарантирует, что заказ на выполнение не будет изменен.
Объединение первых двух советов, если у вас есть такой код:
Если 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) и
(If_love_linux = false) затем
Donottrylinux;
Для возвращаемого значения функции или, если свойство является логическим типом, оно должно быть написано так:
if_love_delphi и
Не if_love_linux тогда
Donottrylinux;
Совет 4
Постарайтесь не использовать оператор «+» для слияния строки. Это слишком неэффективно. Следующий пример не очень хорош:
ShowMessage ('' Нижняя высота ''+inttoStr (iheight)+'' m, вес ''+inttoStr (iweense)+'' 'kg.' ');
Писать таким образом было бы лучше:
ShowMessage (формат ('' на более низкой высоте %d, вес %d. '', [Iheight, iweight]));
Совет 5
Используйте с утверждениями как можно больше. Это не только эффективно, но и делает код более читабельным. Например, этот код:
Если отправитель, если ТЕДИТ, тогда
if (tedit (отправитель) .Text = '') или
(TEDIT (отправитель) .Text [TEDIT (отправитель) .SELSTART] = '') или
(TEDIT (отправитель) .sellength =
Длина (TEDIT (отправитель) .Text))
и (ключ в ['' a '' .. '' 'z' ']) тогда
Ключ: = Верхив (ключ);
Это не так кратко и легко читается, как такого кода:
Если отправитель петушит, тогда
с отправителем, как это делает Тедит
if (text = '') или
(Текст [selstart] = '') или
(Sellength = длина (текст)) и
(Ключ в ['' a '' .. '' z ''] тогда
Ключ: = UPSACE (KEY);