我的问题可能很奇怪甚至没有必要。在 if 语句中总是满足条件并忽略 else (如片段1 )会不会造成任何伤害?
if (condition 1) {
// code here
if (condition 2) {
// code here
}
}
或者代码段2 更好?
if (condition 1) {
// code here
if (!condition 2) {
return;
}
else {
// code here
}
}
答案 0 :(得分:1)
如果你想只在条件不正确的情况下运行一些代码,你可以添加其他内容,否则就是。 下面是一个例子:
if (condition) {
a=5;
}
else {
a=8;
}
如果条件为真 - > a = 5,如果不是,a = 8。
if (condition) {
a=5;
}
a=8;
a = 8在所有情况下。
答案 1 :(得分:0)
嗯......第一个。如果您总是满足if语句,则根本不需要if语句。关于拥有一个实际上可能“失败”的if语句,你不需要else语句,除非你正在检查的语句是假的,否则会发生某些特定的事情。
所以简而言之......你不必把它放在“仅仅因为”中。
答案 2 :(得分:0)
当涉及到源代码的可读性时,有两个规则(冲突中有哪些(可能有什么不同)):
else
处理另一个案例(如果需要处理的话)。答案 3 :(得分:0)
某些指导原则(例如汽车行业)指定必须包含else语句,即使它是空的。在这种情况下,您可以在else语句中进行注释,指定您实际上不想在其中执行任何操作。
我能想到的一个好处就是这个。如果你有:
if (condition)
doSomething();
doSomethingElse();
在这种情况下,if case将执行doSomething(),else case将执行doSomethingElse()。如果您现在修改代码如下:
if (condition)
doSomething();
doSomethingElse();
doAnother();
你认为会发生什么? else案例只会执行doSomethingElse()。 doAnother()将在两种情况下执行(if和else)。但这真的是你想要的吗?也许是,也许不是。也许你想要这样的东西:
if (condition)
{
doSomething();
}
else
{
doSomethingElse();
doAnother();
}
在这种情况下,doAnother()显然属于其他情况。
因此,当您的代码经常更改或由多个开发人员修改时,请明确指定else。它确实使事情变得更加清晰,避免了代码中的错误/错误。
答案 4 :(得分:0)
我能看到的一个优势就是总是包含else
- 声明,以防止像
if (ptr != 0);
ptr = ptr->next;
鉴于你不能拥有else
- while
- 或for
- 分支之类的东西,但这是一种不完整的方法。