繰り返し回数を減らしてコードを改善しようとしています。Javascript改善コード切り替えステートメント
このコードでは、比較演算子===
と!==
を除いて、異なるケースが同じであるため、この切り替え手順を避けたいと思います。
function Test(step, nb_change, name, value, previous_name){
switch (step) {
case 1:
for (var i = 0; i < nb_change; i++) {
if (name === previous_name[nb_change-1-i][1] && value === 'nd') {
To_change(i);
return true;
}
}
return false;
case 2:
for (var i = 0; i < nb_change; i++) {
if (name === previous_name[nb_change-1-i][1] && value !== 'nd') {
To_change(i);
return true;
}
}
return false;
case 3:
for (var i = 0; i < nb_change; i++) {
if (select_name !== previous_name[nb_change-1-i][1] && value !== 'nd') {
To_change(i);
return true;
}
}
return false;
default:
alert('ERROR');
break;
}
}
私に役立つ解決策を提案するのをためらってください。
これはたくさんのケースの1つです。 コードを改善したほうがよいと思われるときに、どのようにしてヘルプを見つけることができますか?
ありがとうございました。
https://codereview.stackexchange.com/ – j08691
各例各ボディを見てください。それぞれが同じで何が違うのかを理解する。同様のパーツを関数の本体にし、異なるパーツパラメータを関数に付けます。それがコードを一般化する基本的な方法です。 – Carcigenicate
@ j08691私はそれがクールなものであることを知らなかった。 – jcollum