6

スイッチケースにスイッチケースを入れるのは悪い習慣ですか? もしそうなら、代替手段は何ですか?本当に使いたくないif/else if必要がなければ。

次のようなことをする代わりに:

if((this == 1) && (that == 1)){ //something }
else if((this == 1) && (that == 2)){ //something }
else if((this == 2) && (that == 3)){ //something }

私は次のように考えていました:

switch(this){
    case 1:
        switch(that){
            case 1:
                // something
            break;
            ....
        }
    break;
    ....
}

私には本当に間違っているように見えます。構文は間違っていませんが、適切な実践に関しては間違っています。

4

6 に答える 6

7

多くの異なることを行う大規模な関数を持つことは悪い習慣です。switch ケースに switch ケースがある場合は、関数が大きすぎる可能性が高いことを示しており、より小さなわかりやすいチャンクに分割することを検討する必要があります。

しかし、厳格なルールはありません。それはすべて、正確なシナリオに依存します。

于 2013-08-22T12:59:20.037 に答える
3

私はそれを悪い練習だと考えます。ほとんどの場合、これは判読できません。

「サブ」スイッチケースをメソッドに抽出できます。

于 2013-08-22T12:59:01.677 に答える
0

悪い習慣?いいえ!トラブルシューティングに関しては、おそらく潜在的な苦痛です! すべての「オプション」をより組織化され、一般的に接続されたものに変えるために何ができるかを見てください. 送信されるパラメーターの数によって決定されるメソッドのオーバーロードを使用して、独自の関数を作成することもできます。

この SO 投稿を見て、アイデアが得られるかどうかを確認してください。

于 2013-08-22T13:02:37.303 に答える