処理が一行ずつ書いてあるより、意味のある塊に閉じ込めてくれてると、読みやすいなぁって思う。僕は、たぶん、こんな順番で書いてる。
## 1. ゴールまで行く
処理を一行ずつ書いていって、さくっと動くことを確認する。
- ちなみに、このときの僕→(おれすごい。とぎすまされてる!)
- そして、このままにしてた場合の1週間後の僕→(なんもわからん。先週のおれ、叩く)
なので、ここで終わりにはしない。
## 2. グルーピングする
その中から意味のある塊を見つけて、グルーピングしてみる。
その意味のある塊に名前をつける。
あーでもないこーでもないって場所を動かしてみて、しっくりくるところを探す。
## 3. コードを眺める
さっきまでは書く頭だったけど、今度は頭を切り替えて、読む頭でコードを眺める。
ぱっと見て意味の分かりやすいコードになっているかを考える。
一晩寝かせたあとだとより良い。
そのファイルはそれで終わり。自分の参照用としては使うけど、実際のコードとしては使わない。
## 4. 実装する
最初に、そのグルーピングした意味の塊に対するテストを書く。
それから、実装を書く。のを繰り返して仕上げていく。
それをやってる中で気づいたり、思いついたりすることも結構あるかなぁ。
## 5. コードを眺める
最後にもういちど、読む頭で眺める
既存のコードとかアーキテクチャーにもよるけど、だいたいそんな感じ。