2018」20日目の記事。社内で「この処理を共通化したいけど、どこに切り出せばよいか?」という話題があがったので、そのとき述べた私の意見をブログにも書くことにした。みたいなもの)を作るの避け「明確な目的を持った小さなクラス」を「(意味が通る範囲内で)できるだけ下位の階層につくる」のが基本方針。その理由は?一言で言うなら「関心の分離」。共通処理をまとめるクラスが存在してしまうと「なんでもそこに突っ込もう」という習慣ができていしまい、気づけばメンテナンスしにくい巨大なクラスができてしまいがち。「明確な目的を持った」というところがポイントで、つまるところ「1つのことをうまくやる」クラスなら挙動を理解しやすく、コードも追いやすくなると期待できる。ディレクトリをできるだけ下位にするのも同様な考えに基づいており、責任の範囲を明確にするためである。高い階層にあると「これはどこで使われるのか?」という情報がわかりにくく、本来意図しない用途で使われたりして、結果「修正した際の影響範囲が予想できなくなる」という問題の原因になってしまう。okashoi参加グループプログラミングはてなブログをはじめよう!okashoiさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。