質問: 既存実装の改修であれば、変更範囲やコストパフォーマンスを鑑みてコードレビューは簡単に通るのですが、新規開発では「既存実装のリファクタリングから新規実装を行う」ので、コードレビューでたくさん指摘されてしまいます。 根拠のないクラス分割は普段からやっているのですが、将来を見通した根拠をもってキレイなコードを書くことができていない状態です。 自分でも勉強しようとして、設計に関する本を読んでいても題材として取り上げているシステムへの理解が進まずイマイチ理解度はあがっていません。 キレイなコードを書く能力を鍛える方法は、がんばって本をたくさん読む、OSSをたくさん読む、たくさん仕事する、以外にないでしょうか?
回答: こんにちは。 経験を積むしかないですが、ひとつ、道筋を示すことはできます。 一言で言うと、 クラスやインターフェース、メソッドの「名前」を見ただけで、それが何なのか推測できるようになっているかを常に意識してください。 しっくりくる名前が付けられないときは、責務を持ちすぎか、分割すべきでない分割をしています。 例えば、「○○Manager」という名前が悪いと言われるのは、「○○を管理するモノ」と言われても何ができるものか伝わらないからです。 役割と性質をそれぞれの「モノ」に持たせることができていれば、それらは適切な「名前」を持ち、自ずとあなたの言う「キレイな」コードに近づきます。