関数とかクラスとかを切り出すとき
その関数やクラス自身の都合でインターフェイスを決める
関数やクラスの設計方法は、呼び出し元との関係性において2つに分類できます。
A. 関数やクラスのシグネチャは、その呼び出し元の都合で決める
B. 関数やクラス側が適切なシグネチャを定義し、呼び出し元がそれに従う
A を選択する場合、その関数やクラスは「自身の責務を全うしなければならない」し「呼び出し元の都合も考慮しなければならない」ので、単一責任の原則を実現しにくくなります。そのため、B の方が基本的にはシンプルで理解が容易になります。
巻き込む文脈の量を極力減らす
切り出しのオーバーヘッドを気にする
切り出し先の中身が希薄だったら切り出す意味は薄い