17章連鎖
整頓はポテトチップスのようなものだ。1つ食べれば、もう1つ食べたくなる。整頓をしたい衝動を抑えることが、整頓スキルのカギとなる。整頓し終わった。もっと整頓すべきか? それは時と場合による(詳しくは第Ⅲ部で見ていく)。
どのような大きさでステップを踏むかはあなた次第だが、小さな整頓のステップにこだわって実験することをお勧めする。各ステップを最適化するのだ。外から見れば走っているように見えるが、ムカデのように小さなステップをたくさん踏んでいることがわかるはずだ。
整頓で先の展開が見えるようになっていく。さながらチェスだ。どのように整頓が先の整頓を生み出すのか見てみよう。
- ガード節
- ガード節を設定したら、その条件を説明ヘルパーに置き換えたり、説明変数に抽出したりするとよい。
- デッドコード
- 散らかったデッドコードを取り除いたら、読む順番や凝集の順番への並べ替えの方法が見えてくるかもしれない。
- シンメトリーを揃える
- 同じことをしているコードは同じように、違うことをしているコードは違って見えるようにすると、関連するコードをきちんと読む順番にまとめられるだろう。以前、複数のウェブのエントリーポイントを含んだファイルでこれをしたことがある。それらが同じように見えるようになったら、残りのコードへの目次のようなものとして、自然とファイルの先頭でグループ化していた。
- 新しいインターフェイス、古い実装
- ピカピカの新しいインターフェイスを手に入れたら、使いたくなるだろう。呼び出し元を自動で書き換えるツールがなければ、一度に1つずつ変換しなければいけない。これが、初めてファンアウトに遭遇する瞬間だ。ファンアウトとはつまり、整頓がさらに多くの整頓を誘発し、それらの整頓がさらに多くの整頓を誘発する現象だ(これについては、結合とべき乗則について話すときに詳しく説明する)。 ...