暗黙のうちに明示的に


当初はalanwsmith.comによって投稿されました
例として例として使用する例(例えば、名前のリスト、動物のリスト、簡単な数学方程式など)を探しています.コード化のための例のセットを調べてみると、COODING 1の例を見ずにすみません.
私の検索の間、私はthis post titled Coding Best Practicesを見つけました.
弾丸ポイントは意味をなす.一貫したインデントを使用して、乾いた原則に従ってください..しかし、私は、「コードを単純にしてください」という側を見ました.これはこうです.
def numbers_are_in_range(*, a, b, c):
    if a < 0 and b > 0 and c == 0:
        return True
    else:
        return False
次のように書きます.
def numbers_are_in_range(*, a, b, c):
    return a < 0 and b > 0 and c == 0
より少ない線?もちろん.
もっと簡単?それほど多くない.
そのコードは理解しにくい.
暗黙のリターン(第2のスニペットのような)は、明示的なもの(第1の例のように)より扱うために、より多くの脳パワーをとります.この場合、一目で最初のスニペットが2つの可能な値のいずれかを返します.番目のスニペットでは、あなたが精神的にどのような可能性がある理由を推論するために歩く必要があります.
最初のコードを書いているときの努力には気づかない.コンテキストはすでにあなたの頭にあります.それは我々が我々が影響を感じることをそれを使用する他のすべての時間です.我々は、我々が最初にそれを書くとき、我々のコードに取り組んでいる将来に、無限により多くの時間を費やします.それは、物事を我々の将来の自己のために可能な限り明確にするために最善の関心を持っています.
より単純なコードでより少ない線を等しくすることは、作る簡単な間違いです.しかし、それは必ずしもそうではありません.彼らが明快さを加えるとき、それらの余分の線を恐れないでください.彼らはあなたの友達です.
脚注
  • 私は素晴らしい運動に行くことを実現しました.IOの例を示す.
  • Yep.例題をPython関数に翻訳しました.そして、私はこのポストでそれを取得したくないが、私は、条件だけでなく、条件をコードするクリーンな方法がないかどうか疑問に思う.
  • 私の言葉を取るだけではありません.Pythonの2行目の禅は文字通りです

    Explicit is better than implicit.