リファクタリングパワー

 TrSchedulerを作っていくなかで、リファクタリングをしょっちゅう行う。

 やってみるとどんどんコードがきれいになっていく。やればやるほど気がつかなかった醜い部分がどんどんきれいになっていく。

 仕事のときとかは、コーディング前の時点でプログラムの構造を大体きめてしまって作る。仕事のプログラムはあまり凝ることがないので、想定どおりにできあがるし、不満も滅多にない。

 だけど、TrSchedulerやTorilosのときは「試しながら、勉強しながら、凝って」つくるので、当初の構造がなかったり、後で考えると間違っているものにだったりする。

 それでもリファクタリングを繰り返すとコードがきれいになっていく。プログラムの構造を考えずにテキトーにつくったってリファクタリングで最後はきれいになりそうな気がしてくる。

 だけど、きっとそうはいかないだろう。リファクタリングするためには少なくともクラスの「役割」みたいなものを明確にしておかないといけないだろうし、それはつまり「プログラムの設計」なんだろうから。

 そんなことをつらつらと考えたので、そのままここに書いておく。