おいらも整形そのものにはあんまり興味はない

http://d.hatena.ne.jp/itoasuka/20080930/1222735783


どうしてもそろえたいのならコードが完成した時点ですればいいだけの話。人によって効率のいいスタイルというものが絶対あると思うから、開発中はあんまり目くじらを立てたくない。


でも、元記事の最後のほうの長ったらしいswitchはああいう書き方するかなぁ?代入する変数が増えたらさらに面倒になるし。つまりこのままのコードではコピペ指向プログラミングということになってしまう。サンプルとしてもあまりよろしくない。


そもそも、この目的は「month」による分岐処理そのものではなく、「tsuki」と「koyomi」に適切な値を代入したいということだけだと思う。ならばこれらの値は配列の定数等でもってそこから取得するのが望ましい。

そしてこのタイプの定数はこの文字はDBやリソースファイル等から取得するようになる可能性も多い。そのときswitchで実装した場合修正は大変なものになる。そしてバグは埋め込まれる。


さらにいうとこの場合「tsuki」と「koyomi」は関連のない別の変数とも思えない。ならば構造体やクラス、配列など(言語によって適切に選択すべし)を使用してペアであることをわかりやすくするべきかと。月に関連する項目が増えた場合対処がしやすくなる。「month」という数値型変数をもって先々で処理するのではなく、特定の月をあらわすクラスのインスタンスをもってあるくほうがよい。そうなると「month」という値も月クラスにもつのがよい。



というのがあの小さなサンプルコードから考えられるはずだ。