December 2024
Beginner to intermediate
164 pages
1h 15m
Japanese
コードを読む。振る舞いに変更を加えるためには、コード中にばら撒かれた箇所に変更を加えなければいけないことがわかる。そして、イライラする。さて、どうすべきか?
コードの順番を入れ替えて、変更対象の要素が隣接するようにしよう。凝集の順番での並べ替えは1つのファイルに複数のルーチンがある場合に有効だ。結合しているルーチンは、隣り合わせにする。1つのディレクトリに複数ファイルがある場合にも有効だ。結合しているファイルは、同じディレクトリに置く。リポジトリをまたいでいる場合でさえ有効だ。結合しているコードは、変更を入れる前に同じリポジトリに置く。
ただ単に結合を取り除くだけにしてはどうか? やり方がわかっているのなら、やってみよう。以下が成り立つ場合は、整頓するのに最善の方法だ。
cost(分離) + cost(変更) < cost(結合) + cost(変更)
だが、こんな場合には、実現不可能かもしれない。
無理してスイスチーズの穴のように変更箇所を散らばらせておく必要はない。整頓によって凝集度を高めれば、振る舞いの変更が簡単になる。凝集度を高めれば、分離の妨げとなっているものを取り除くこともできる。凝集度を高めることで、結合があっても平気でいられるようにもなるのだ。
Read now
Unlock full access