return文を使用して最小化/避ける必要があり、私はかなり広範囲にこのパターンを見ていると、彼らができるだけreturn文を避けるためにしようとしているようです。コード内のいくつかの場所でさえ、これはほとんど極端に取られます。たちは、私が働いている現在のソフトウェアでのJavaScriptのフロー制御で
文が最小化または回避が、私は思考のこのラインの正確な理由や起源を覚えている(または約検索)することはできませんする必要があります戻る私は何とか昔聞いた。私はいくつかのPLでパフォーマンスが何らかの影響を受けていると考えています。
私は個人的にこのコードを読めるわけではありませんが、疑問の恩恵を与えているので、私はこのパターンを使用するかどうかは性能面でjavascriptのメリットがあるのか不思議です。私は決定した場合
if (err) {
if (err.message) {
message = err.message;
} else {
if (err.errorCode) {
message = err.errorCode;
} else {
message = "Unknown error";
}
}
} else {
message = "Unknown error.";
}
deferred.reject(message);
、私は何気なく、このようにシーケンスを終了するには、returnステートメントを使用したい:
if(!err || (!err.message && !err.errorCode)){
deferred.reject("Unknown error.");
return;
}
if(err.message){
deferred.reject(err.message);
return;
}
if(err.errorCode){
deferred.reject(err.errorCode);
}
が二人以上の第一のパターンでの利点はありますか?
関数は1つのことだけを実行する必要があります。 'if'条件は通常、関数が複数のことをしていることを意味します。 –
多くのリターンを使用する際の問題は、その時点で関数がその時点で残っていることです。おそらくあなたはクリーンアップコードを持っているかもしれません。おそらくオブジェクトを解放しなければならないかもしれません。多分もっと多くのものをチェックしなければならないかもしれません。 –
)あなたが素敵である、SOに別の答えへのリンクを提供してきましたが、それは 'JS')で@Andrey)および例えば、jsの中であなたがコールバックを呼び出すたびに返す必要が... –