7
制御フローによって冗長になる状況では、「else」を使用する必要がありますか?
次の例のようなコードに出くわすことがあります(この関数の機能はこの質問の範囲外です)。 function doSomething(value) { if (check1(value)) { return -1; } else if (check2(value)) { return value; } else { return false; } } あなたが見ることができるように、if、else ifおよびelseステートメントは、と組み合わせて使用されているreturn声明。これはカジュアルなオブザーバーにはかなり直感的に思えますが、else-s を削除し、次のようにコードを簡略化する方が(ソフトウェア開発者の観点から)よりエレガントになると思います。 function doSomething(value) { if (check1(value)) { return -1; } if (check2(value)) { return value; } return false; } これは理にかなっています。return(同じスコープ内の)ステートメントに続くすべてが実行されることはないため、上記のコードは意味的に最初の例と等しくなります。 上記のうち、優れたコーディングプラクティスに適しているものはどれですか?コードの可読性に関して、どちらの方法にも欠点はありますか? 編集:参照として提供されたこの質問で、重複した提案が行われました。私の質問は別のトピックに関係していると思います。他の質問で提示されたような重複したステートメントを避けることを求めていないからです。どちらの質問も、わずかに異なる方法ではありますが、繰り返しを減らすことを目指しています。