gpt4 book ai didi

java - 分枝效率

转载 作者:行者123 更新时间:2023-12-01 16:54:05 24 4
gpt4 key购买 nike

几周前,我提交了一个代码审查函数,如下所示。

Function{
If (condition)
Else If (condition)
Else if (condition)
Else
return value
}

我的代码审查负责人说“我讨厌 else if”,但他没有说明原因或我应该做什么。他刚刚允许我上传这个函数。

我的问题是,有哪些替代方案可以替代一堆“else if”,使代码看起来更优雅,并且性能可能更好?

我尝试提取他的代码来了解他会做什么,我注意到他多次这样做

If (condition)
If (condition)
If (condition)

我应该避免写“else”吗?我本来想问他的,但他已经不在这里工作了。

谢谢

最佳答案

我尽量避免使用“else”、“else if”以及“if”和“for”。在我看来,分支和循环增加了代码的复杂性。但这每次都取决于你想做什么。一些例子:

如果你这样做:

if fruit.isBanana() then fruit.eatBanana()
else if fruit.isOrange() then fruit.eatOrange()
...

除此之外,您还可以使用继承:

class Banana extends Fruit {
function eat() {
... yum yum yum banana ...
}
}
class Orange extends Fruit {
function eat() {
... yum yum yum orange ...
}
}

然后,如果您有一个实例:

fruit.eat()

另一个例子:如果使用“if”和“for”进行过滤:

longFruits = []
for fruit in fruits {
if fruit.isBanana() then longFruits.add(fruit)
}

然后你可以使用collections相反:

longFruits = CollectionUtils.select(fruits, Precicate.isBanana)

这只是几个示例和技术。

关于java - 分枝效率,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35229808/

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