アカウント名:
パスワード:
判断条件が8個くらいしかないのに4個でswitch-caseが終わっていて、しかもdefault処理書いてないから残り4個の時にはめちゃくちゃな値が入るという素敵なコードを見たことが・・・見つけたときには思わずモニターに向けてツッコミを入れてしまいました。#しかもリリース済みバージョン。
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
犯人は巨人ファンでA型で眼鏡をかけている -- あるハッカー
別に (スコア:0)
関数の最後が『return 0;』でも、正常なら最後まで通るコードなら問題ないと思うけど。
謎の連番で命名されたクラス名/メンバ変数名でも、命名の取り決めがちゃんとあれば問題ないと思うけど。
Re:別に (スコア:0)
判断条件が8個くらいしかないのに4個でswitch-caseが終わっていて、しかもdefault処理書いてないから
残り4個の時にはめちゃくちゃな値が入るという素敵なコードを見たことが・・・
見つけたときには思わずモニターに向けてツッコミを入れてしまいました。
#しかもリリース済みバージョン。
Re: (スコア:0)
基本的にbreakの漏れがないのかを判断し辛いものはswitchで書くべきではないし、全ての条件において共通の変数に値を代入するだけなら配列でよい(ウンコードにあるのはまさにそれ)。
関数テーブルに置き換えるのは、処理速度の面で抵抗がある場合もあるけど、長大なswitch文は局所性が悪くなり、キャッシュのヒットミスを増加させるので、switch文で書くメリットは少ない。このあたりは関数のインライン化と同様に考えると判断しやすい。
でも、switch文で分かりやすく書ける場合もあるから、そういうときはswitch文を使うべき。稀だけどね。