我如何优化这个逻辑

How do I optimize this logic?

本文关键字:优化 何优化      更新时间:2023-10-16

我有以下场景:-

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

这里,如果condition1为真,必须执行特定的代码块。否则,如果condition1为假,但如果condition2为真,则必须执行相同的代码块。我怎样才能以一种有效的方式编写这个逻辑,从而不重复编写相同的块,或者两次调用相同的函数。

使用一个简单的逻辑OR(对于任何语言来说都是非常基本的东西)。

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

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

如果你的函数调用返回int, char等。你可以这样写:-

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

它说,如果condition1为真执行函数,否则如果condition2为真执行函数,否则不执行。