【问题标题】:How do I optimize this logic?如何优化这个逻辑?
【发布时间】:2023-03-27 07:14:02
【问题描述】:

我有以下场景:-

if( condition1 == true )
{
/*
a code block or fuction call
*/
}
else
{
 if( condition2 == true )
 {
 /*
 same code block or function call
 */
 }
}

这里,如果条件 1 为真,则必须执行特定的代码块。 否则,如果条件 1 为假,但如果条件 2 为真,则还必须执行相同的代码块。 如何以有效的方式编写此逻辑,以免两次写入相同的块,或两次调用相同的函数。

【问题讨论】:

  • 如果在两种情况下都调用相同的代码块,为什么要使用 if?
  • @OlimpiuPOP 因为如果两个条件都为假,代码不会被执行。

标签: java c++ algorithm


【解决方案1】:

用一个简单的逻辑OR(任何语言的非常基本的东西)。

if(condition1 || condition2) {
    // Code
}

通常不鼓励使用==(或!=),因为会不必要地增加冗长。写入condition1condition1 == true 相同,可以使用!condition1(逻辑NOT 运算符)进行错误测试。

【讨论】:

  • +1。旁注:在问题中,您可以看到if(condition1 == true):我会解释为什么可以省略==true 部分,对于OP 来说可能不是那么容易理解
【解决方案2】:

如果你的函数调用返回一些 int、char 等。 你可以使用这个:-

condition1?function():(condition2?function():1);

它说,如果条件1为真执行函数,否则如果条件2为真执行函数,否则什么都不做。 希望清楚。

【讨论】:

    猜你喜欢
    • 2011-01-29
    • 1970-01-01
    • 2019-05-07
    • 2012-04-21
    • 2012-08-10
    • 2014-05-14
    • 1970-01-01
    • 2016-09-11
    • 1970-01-01
    相关资源
    最近更新 更多