【解り易い】上手なプログラムを書くには【美しい】

このエントリーをはてなブックマークに追加
831790
>>799
オレは、switch()の存在そのものが悪だと思ってる。
世の中にあるswitchの殆どがテーブルに出来るし、テーブルの方がスッキリ組めるよ。
switchは処理で表を作る。
テーブルはデータで表を作る。
処理=コードはなるべく少なくするってのは基本。「表を正しく処理できるロジック」を組めば、後の仕変はテーブルの変更で対応できるのが大きい。
switchだと処理だから、ソースなので追わないと判らないけれど、テーブルはデータなのでプログラム判らないヤツが見てもわかる事もあるしね。

文法的にバグを作り出す要素が多いのもダメだな。
まずbreak;の存在がダメ。ループのbreakなのかそうじゃないのか区別付かない。break付け忘れバグと、わざとbreak付けなかったのか、ソースを完全に追わなければ理解できない。

あとこれは絶対ではなく経験則なのだが、switchを不用意に使うやつは、どんどんcaseに処理を継ぎ足していく事が多い。
caseを羅列していくのって、どこからどこまでがcaseなのか見難い。上のbreakの事も合わせて、バグを作り出す要素、見つけにくい要素が揃ってる。
仕方なく使うならまだしも、率先して使うようなら、逆にテーブルよりswitchが優れてる理由を>>799がオレに教えてくれよ。