gpt4 book ai didi

if-statement - 一般编程 - else 或 else if 为清楚起见

转载 作者:行者123 更新时间:2023-12-04 21:55:10 25 4
gpt4 key购买 nike

在一个变量可能有两个不同值的情况下,如果它是一个,你会做一些事情,如果是另一个,你会做一些不同的事情,你会这样做:

if(myVariable == FIRST_POSSIBLE_VALUE) { ... }
else { ... }

或者你会这样做:
if(myVariable == FIRST_POSSIBLE_VALUE) { ... }
else if (myVariable == SECOND_POSSIBLE_VALUE) { ... }

为清楚起见,在读者不一定能够说他们做同样的事情的情况下(但 else if 做了“不必要的”表达)?
那你会怎么做?
谢谢!

编辑:对于这样的事情,实际上有更多不同的选项:三元运算符、if-else、if-elseif、if-elseif-else、-if-else(with assert)、switch。每个人都有自己的位置,但很难决定..

最佳答案

当变量没有其他可能的状态时,我总是更喜欢简单的 else(即,检查 null 和所有这些)。如果变量不是第一个条件,我可能会添加一条评论,说明变量是什么,但这仅在其类似的情况下

if(color==red){
....
}else{ //our theme only allows for red and yellow, so the color must be yellow.
....
}

此外,这为处理器节省了一些时间,因为它不必检查无用的变量(或者在 OOP 中更糟,检查该变量可能需要相当多的取消引用、函数调用和内存读取)

我从不做类似的事情
if(file.is_open==1){
....
}else if(file.is_open==0){
....

}

由于 is_open 是一个 bool 值,因此指定它是没有意义的,因为剩下的唯一选项是 0,当您必须重构代码以使用 is_open() 时,这也可以节省一点输入,因为现在您只需要更改一行而不是两个。

和 'else if' 语句如果有超过 1 个 'else if',我认为应该转向开关,当然除非语言使它不可能(例如 C 无法处理开关中的字符串)

关于if-statement - 一般编程 - else 或 else if 为清楚起见,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1231145/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com