if ...else..。
シーケンシャルコードを見ると最も読みやすいです。読者がロジックをたどることができないことが多いため、ネストまたはチェーンすると問題が発生します。
金曜日が早く帰宅する場合、水曜日がコーヒーを飲む場合、土曜日または日曜日が家にいる場合
ステートメントがさらに混乱する場合はネストされます。
これらの場合、スイッチタイプのステートメントはテーブルのように見えるため、より明確になります。これも、読者が複数の選択肢に適していると感じるスタイルです。
デイケースの切り替え水曜日:コーヒーケースを飲む金曜日:家に帰る早めのケース土曜日、日曜日:家にいる
事前にオプションを知っていると、それにアプローチするためのより良い方法があります。
def test(v):if v =='a':何かをするelif v =='b':何か他のことをする
test('a')test('b')
非効率的で不明確です。別の名前のメソッドを使用するか、vが外部ソースからのものである場合は、辞書を使用することをお勧めします。
選択肢=a:何かをするb:何か他のことをする
choices ['a']?()choices ['b']?()
この最後の例は、sudoコードが少なく、コーヒースクリプトが多いです。?関数呼び出しの前とは、ディクショナリ参照が有効でない場合に呼び出しが行われないことを意味します。
アンディの返事を読んだばかりです。三つのルールはいたるところにあります-そして正当な理由があります。上で説明したように、情報が多すぎると混乱が生じます。私はブログで三つのルールについて話します-特に分解によるデザインについて話すとき。