首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在if Proper语句中计算布尔值的正确方法

在if Proper语句中计算布尔值的正确方法
EN

Stack Overflow用户
提问于 2017-03-13 02:09:27
回答 3查看 82关注 0票数 0

如果这件事已经在某个地方被回答了,我很抱歉,但我确实找了一段时间,但什么也没找到。

我在目标C中编码,但这主要是一个一般的编码问题。我基本上在想,是否有一种恰当的、专业的方式来撰写涉及布尔人的“如果其他声明”。具体来说,我想知道

  1. 有一个“最快”的“最佳”编码实践,用于排序是否涉及布尔人的其他状态。
  2. 有没有一种更受审美欢迎的写作方式?

例如,我想知道的有三种不同的方法

方法1

代码语言:javascript
复制
if (myBool)
{
    //Do something
}
else
{
    //Do something else
}

方法2

代码语言:javascript
复制
if (myBool)
{
    //Do something
}
else if (!myBool)
{
    //Do something else
}

方法3

代码语言:javascript
复制
if (myBool)
{
    //Do something
}
if (!myBool)
{
    //Do something else
}

我知道这听起来有点傻,而且真的在细枝末节上唠叨着。在代码可读性方面,我主要想知道这些不同的方法。就可读性而言,方法2/3对我来说几乎是最好的。这使您可以搜索该变量的特定情况,这在大文件中可能更容易。也许这只是一个很小的问题,其实并不重要。

方法1在我看来是最常见的,默认情况下也是我会选择的方法。但是对于更有经验的程序员来说,是否有具体的方法来做到这一点,或者仅仅是偏好呢?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2017-03-13 02:46:28

1.有一种“最快”的“最佳”编码实践,用于排序涉及布尔的if There状态。

“将通常希望处理的情况放在第一位。这符合这样的一般原则:将决策产生的代码尽可能接近decision...putting --通常情况下,if将重点放在读取主流程上,而不是费力地处理异常情况,因此代码更易于整体阅读。”

代码完成,第二版,第356-357页.

2.是否有一种更受欢迎的书写方式?

在正常逻辑流中,最好使用方法1

票数 3
EN

Stack Overflow用户

发布于 2017-03-13 05:46:16

我认为Method1也是常见和有效的。

  1. 在method3中,如果myBool为真,则不需要检查第二个if条件。
  2. 在method2中,如果bool只有2个值,则不需要第二个值,要么是yes/true,要么是no/false。如果有超过2箱的话,就用其他方法。
  3. 当你使用,如果是,如果是,如果你应该提供条件,根据概率。最满足的条件必须放在第一位。
票数 0
EN

Stack Overflow用户

发布于 2017-03-14 15:01:59

处理非常简单的任务的一种简洁的方法

代码语言:javascript
复制
int num;
if (isNegative) {
    num = -1;
} else {
    num = 1;
}

短手是:

代码语言:javascript
复制
int num = isNegative ? -1 : 1;    //   -->   condition ? true : false

我不建议在复杂的情况下这样做,因为这样做会变得很麻烦。但是我发现它对于压缩非常简单的if/else任务很有用。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42755598

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档