9
「ワンリターンのみ」という概念はどこから来たのですか?
「同じメソッドに複数のreturnステートメントを入れないでください」と言うプログラマーとよく話します。理由を教えてもらうと、「コーディング標準がそう言っている」または「わかりにくい」だけです。単一のreturnステートメントでソリューションを表示すると、コードが見苦しくなります。例えば: if (condition) return 42; else return 97; 「これは見苦しいです。ローカル変数を使用する必要があります!」 int result; if (condition) result = 42; else result = 97; return result; この50%のコードの肥大化により、プログラムが理解しやすくなりますか?個人的には、簡単に防ぐことができた別の変数によって状態空間が増加したため、私はそれが難しいと感じています。 もちろん、通常は次のように書きます。 return (condition) ? 42 : 97; しかし、多くのプログラマーは条件演算子を避け、長い形式を好みます。 この「一回限りの帰り」という概念はどこから来たのでしょうか?このコンベンションが生まれた歴史的な理由はありますか?