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 に答える