リファクタリングのタイミングはいつなのかという問いについて。 ベストなのは開発と並行して。 書いたばかりのコードはリファクタリングしやすい。 時間が経つほど内容を忘れていくのでリファクタリングしにくくなる。 ありがちなのは「時間が余ったらリファクタリングしよう」 時間は得てして余らないものなので、リファクタリングの機会は永久に来ない。 リファクタリングは余った時間でするものではない。 むしろ時間を余らすためにリファクタリングすると言ってもいいくらい。 リファクタリングによってコードがシンプルで修正しやすい状態に保たれるため、開発スピードを保つことができるからだ。 (という口車を使ってリファクタリングの時間を確保しよう!) リファクタリングは「外部から見た振る舞いを変えずに実装を変えること」なので、振る舞いを変えるものを「リファクタリング」とは呼ばない。それは単なる「修正」。 リファクタリン