1

你更偏向于哪个,为什么:

典型的

if (this.sun.hidden === true &&
    this.moon.visible === false) {
    print "its daytime"
}

可能不必要的抽象

if (isSunHidden() === true &&
    isMoonVisible() === false) {
    print "its daytime"
}

删除一些语法

if (isSunHidden() &&
    isMoonVisible()) {
    print "its daytime"
}

我喜欢这个,因为它非常易读,但也需要一个硬编码的“白天”字符串

if (timeOfDay() === "daytime") {
    print "its daytime"
}

这也很容易阅读

if (isItDaytime()) {
    print "its daytime"
}

将打印与一天中的时间检查混合在一起,不好

printDaytime();

无论如何,这在很大程度上是个人偏好,但也有很好的、合乎逻辑的理由更喜欢一个而不是另一个,我很想听听这些理由——或者如果它增加了任何东西,也可能是同一结构的其他变体。

谢谢!

4

1 回答 1

3

在您的选择中,我更喜欢:

if (isItDaytime()) {
    print "its daytime"
}

这个也不可怕:

if (timeOfDay() === "daytime") {
    print "its daytime"
}

...虽然我会使用枚举或类似的构造而不是文字字符串,例如:

if (timeOfDay() === TimeOfDay.DAY_TIME) {
    print "its daytime"
}
于 2011-07-03T06:19:53.227 回答