シナリオ: なんらかの方法で微調整する必要がある関数があります (例: 場所によって動作が若干異なるようにする)。何らかの理由で、関数または既存の呼び出しサイトのいずれかで、コードに醜いものを追加する必要があります。「醜い」の合計はどちらの場合も同じであると仮定します。
問題は、どの選択肢を選ぶべきか、そしてその理由です。
それを見る必要がないようにカプセル化する必要がありますか、それとも関数にセマンティックなゴミを追加しないように抽出する必要がありますか?
あなたの選択に何が影響しますか?次の場合はどうでしょうか。
- この関数は、現在の場所以外から呼び出されることはありません。
- 関数への新しい呼び出しには、「醜さ」は必要ありません。
- 関数は今のところ本当にきれいで一般的です
- 関数はすでにハックジョブです。
- あなたは関数を書きました
- あなたは関数を書きませんでした
- 等