Блок начинать-конца влияет на производительность условного оператора?

Я работаю с Delphi. Это делает какую-либо разницу в производительности, если мы пишем if condition по-разному? Например:

if (condition) then
   someVar := someVal
else
   someVar := someOtherVal;  

Или мы можем записать:

if (condition) then begin
   someVar := someVal;
end else begin
   someVar := someOtherVal;
end;  

Я предпочитаю вторую опцию просто, потому что это выглядит лучше, чем первое.

6
задан Himadri 29 September 2016 в 02:36
поделиться

4 ответа

Нет, разницы в производительности нет, созданный код будет идентичным.

Аспект, который может быть более важным, чем то, что второй вариант выглядит лучше, - это то, что он лучше для обслуживания. Если вам нужно добавить еще один оператор в блок else, вы не забудете случайно добавить начало и конец, что поставит оператор вне if и всегда будет выполняться.

24
ответ дан 8 December 2019 в 03:09
поделиться

Это не повлияет на производительность.

begin и end указывают компилятору, где начинается и заканчивается блок кода, но никаких вычислений там производить не нужно.

3
ответ дан 8 December 2019 в 03:09
поделиться

Begin и End не замедляют ваш код, как уже сказали другие. Я пишу еще один ответ, чтобы еще более явно побудить вас ВСЕГДА использовать begin и end везде, где вы могли бы их использовать.

Хорошо быть либеральным в использовании Begin и End и не беспокоиться о том, что они замедляют работу (потому что это не так).

Если вы пойдете другим путем и не будете использовать begin и end везде, где только можно, вы попадете в другой тип проблем.

Со мной такое часто случалось. Вы можете попасть в беду, когда вставляете строку в место, где нет указания начала и конца. В итоге вы будете ломать голову, гадая, что же вы сделали такого, что испортило ваш код. Начало-конец везде, даже там, где это не нужно, является стандартной операционной процедурой для многих Delphi кодеров.

2
ответ дан 8 December 2019 в 03:09
поделиться

Единственное, что вы должны иметь в виду о if-elseif-else, это поддерживать общие случаи в своем коде до пограничных случаев, чтобы были оценены минимально возможные условия.

1
ответ дан 8 December 2019 в 03:09
поделиться
Другие вопросы по тегам:

Похожие вопросы: