[コラム] リファクタリングはどっちへ進むべきだろう? (了)
前回、 FizzBuzz は、4つの小さな仕様に分割できることを述べました。
繰り返すと、 FizzBuzz は正の整数すべてを受け付け、 それらを 4つに分類して、 それぞれに対して処理をします。 分類するところまでは分割できませんが、 分類できてしまえば、 そのあとは 4つ別々に処理することが可能でした。 小さな 4つの独立した仕様に分解できて、 それぞれを個別に考えればよかったのでした。
5の倍数である | 5の倍数でない | |
---|---|---|
3の倍数である | "Fizz Buzz" と言う | "Fizz" と言う |
3の倍数でない | "Buzz" と言う | その数を言う |
FizzBuzz では、 4つのそれぞれの処理はごく短いものなので、 ここまで考える必要は無いのですが、 仮にそれぞれがけっこう大きな処理 (100行とか 1000行とか) だとしましょう。 そんな長い処理を 4つも、 ひとつのメソッドに詰め込んだのでは、 まずまちがいなくとても理解しづらいコードになってしまいますから、 4つの処理をそれぞれ別のメソッドとして切り出すことでしょう。
| 固定リンク
| コメント (0)
| トラックバック (0)