エンジニアリングとは、大きな問題を小さな問題に分割して、それぞれの解決策を 組み立てることに他ならない。
無関係の下位問題を積極的に見つけて抽出すること
- 関数やコードブロックを見て「このコードの高レベルの目標は何か?」と自問する。
- コードの各行に対して「高レベルの目標に直接的に効果があるのか? あるいは、無関係の下位問題を解決しているのか?」と自問する。
- 無関係の下位問題を解決しているコードが相当量あれば、それらを抽出して 別の関数にする。
まとめると、プロジェクト固有のコードから汎用コードを分離すること。
※この章は、実際のコード例が多数出てくるので、要約よりも本の現物を読んだほうが良い。