如果在某个地方得到了解答,请提前抱歉,但我确实环顾了一会儿并没有找到任何结果。
我在Objective-C中编码,但这主要是一个通用的编码问题。我基本上想知道是否有一种适当的,专业的方式来编写涉及布尔值的其他语句。具体来说,我想知道是否
因此,举例来说,这里有三种不同的方式我想知道
方法1
if (myBool)
{
//Do something
}
else
{
//Do something else
}
方法2
if (myBool)
{
//Do something
}
else if (!myBool)
{
//Do something else
}
方法3
if (myBool)
{
//Do something
}
if (!myBool)
{
//Do something else
}
我知道这听起来有点愚蠢,并且在细微的细节上真的很难受。在代码可读性方面,我主要想知道这些不同的方法。在可读性方面,似乎方法2/3 对我来说是最好的。这允许您搜索该变量的特定情况,这在大文件中可能更容易。也许这只是一个小问题,但实际上并不重要。
方法1似乎是我最常见的,也是我默认选择的。但对于那些经验丰富的编码员来说,有没有一种特定的方法可以做到这一点,或只是偏好?
答案 0 :(得分:3)
<强> 1。有一个&#34;最快&#34; &#34;最好的&#34;用于排序涉及布尔值的if else语句的编码实践
&#34;放置您通常希望首先处理的案例。这符合将决策产生的代码尽可能接近决策的一般原则...... [在if之后放置正常情况]将重点放在阅读主要流程而不是趟过特殊情况案例,因此代码更易于整体阅读。&#34;
Code Complete,第2版,第356-357页。
<强> 2。是否有更美观的写作方式?
在正常的逻辑流程中,最好使用方法1
答案 1 :(得分:0)
要考虑的一件事是您期望的价值观。
在这种情况下,布尔值只有两个可能的值,因此如果我们使用方法1作为最“方便”的方式是有意义的。
当您要检查的值超过2个时,方法2可以有效地工作。
另一方面,当 myBool 的值在第一个[if]条件之后发生变化时,方法3很方便。
答案 2 :(得分:0)
我认为Method1也是常见且有效的。
1.如果myBool为true,则在method3中,如果条件不需要检查2nd
2.在方法2中,如果因为bool只有2个值,它是yes / true或no / false,则不需要2nd。如果只有2个以上的情况,请使用其他
3.当您使用if else或if else时,如果您应根据概率提供条件。必须先放置最满意的条件。
答案 3 :(得分:0)
为非常简单的作业做if / else的简洁方法
DispatchQueue.main.async {
self.tableView.reloadData()
self.selectNode(node: newNode)
}
简短的手是:
int num;
if (isNegative) {
num = -1;
} else {
num = 1;
}
我不建议复杂的条件/作业,因为它可能会变得混乱。但我发现它可以用于压缩非常简单的if / else赋值。