#if-statement #optimization #conditional-statements #boolean-logic
Вопрос:
У меня есть следующие условия :
if (a amp;amp; (b || c)) {
await t1();
}
if(b) {
await t2();
}
Учитывая, что t2 следует выполнять ПОСЛЕ t1, есть ли способ оптимизировать эти условия ?
Комментарии:
1. Вы понимаете, что если a = false и b=true, то t2 будет выполнено, а t1-нет? Просто проверяю, потому что вы сказали, что t2 должно быть сделано после t1, просто не уверен, что вы имели в виду только после t1.
2. Точный. Выполнение t1 или t2 не обязательно, но если выполняются t1 и t2, T1 должен быть завершен до начала t2
3. Как их оптимизировать? Что здесь следует улучшить?
4. В этом случае, предполагая,что a, b и c являются переменными, я бы не стал беспокоиться об оптимизации скорости. Разница между лучшим и худшим случаем составит наносекунды и уменьшится к моменту t1 и t2. Оптимизируйте для удобства чтения — какой способ проще всего понять человеку, хорошо знакомому с продуктом.
Ответ №1:
Если b
это возможно true
, то следующее может быть немного быстрее, но я бы, вероятно, оставил все так, как у вас есть.
if (b)
{
if (a)
await t1();
await t2();
}
else
{
if (a amp;amp; c)
await t1();
}