优化 IF 语句中的布尔条件

Optimize boolean condition in IF statements

提问人:Aion 提问时间:10/20/2021 更新时间:10/20/2021 访问量:186

问:

我有以下条件:

if (a && (b || c)) {
 await t1();
}
if(b) {
  await t2();
 }

考虑到 t2 应该在 t1 之后完成,有没有办法优化这些条件?

if-statement 优化 条件语句 boolean-logic

评论

0赞 Gabe Sechan 10/20/2021
您意识到如果 a = false 和 b=true,则 t2 将完成而 t1 不会?只是检查,因为你说 t2 应该在 t1 之后完成,只是不确定你是否意味着只在 t1 之后。
0赞 Aion 10/20/2021
确切。执行 t1 或 t2 不是强制性的,但如果执行了 t1 和 t2,则必须在 t2 开始之前完成 T1
0赞 VLAZ 10/20/2021
如何优化它们?这里应该改进什么?
0赞 Gabe Sechan 10/20/2021
在这种情况下,假设 a、b 和 c 是变量,我不会担心优化速度。最佳和最坏情况之间的差异将是纳秒,并且在 t1 和 t2 的时间下相形见绌。优化可读性 - 对于了解产品的人来说,哪种方式最容易理解。

答:

1赞 500 - Internal Server Error 10/20/2021 #1

如果可能是,以下内容可能会快一点,但我可能会保持原样。btrue

if (b)
{
  if (a)
    await t1();
  await t2();
}
else
{
  if (a && c)
    await t1();
}