「現場で役立つシステム設計の原則」読書会レポート vol.10

株式会社リゾーム システム企画・開発部 第4グループの平松です。
今回は、読書会の第10回目のレポートになります。
前回のレポートは、こちらになります。

tech.rhizome-e.com

10回目レポート

今回は、第10章「オブジェクト指向設計の学び方と教え方」で参加者は6名でした。

それぞれの感想・意見交換

  • ドメインオブジェクトを設計していくという考え方にはあまりなってなかった
  • 受託開発をしているときはリファクタリングをする機会があまり与えられないため、良さがよくわかってなかった
  • オブジェクト指向は言葉で説明するのは難しい
  • オブジェクト指向を学ぶにはリファクタリングがいいと思う
  • 手を動かして覚える
    • 仕事のタスクだけだと覚えるのに時間がかかりそう
    • オブジェクト指向を意識して作業してもらわないと意味がない
    • コードレビューで言及して意識してもらうとか
  • 実際の実装を読んで理解する
    • 一番手っ取り早い気がする
    • 長くメンテされているライブラリ等は綺麗に実装されているものが多い
    • ついでにPRも出せば、手も動かせて良い勉強方法になりそう
  • 極端なコーディング規則を作ると、1人ならいいのかもしれないけれど、チームでやるとイライラしそう
    • 仕事で実践していくのは厳しい
    • プライベートで勉強がてら取り組むのには良さそう
    • Todoリストとかのサンプルアプリを作って試すなど
    • 一部、簡単に実践できる内容もあったので、今後、機能開発する際はチェックするようにしたい
  • ドメイン駆動設計の本は先輩社員にもオススメされた
    • 書かれたのが2000年代初頭なので、それを念頭に置いて読まなければならない
    • 書かれてる実装方法が現代においては冗長だったりするらしい
  • 「モノ」にフォーカスした「データクラス」がアンチパターンであることを理解する
    • データクラスは複数箇所で参照されるため、修正の影響範囲が大きくなるということを理解する
    • モノにフォーカスしたテーブルを作るとこれが出来上がる
    • モノにフォーカスしたテーブルを作っていいのは業務ロジックを持たないマスタデータだけ?

まとめ

この章では、オブジェクト指向の学び方について意見交換を行いました。
リファクタリングで学ぶという意見やライブラリ等の実装を読んで理解するという意見など、それぞれが思うオブジェクト指向の学び方が出てきました。

第10章で「現場で役立つシステム設計の原則」の読書会は終わりです。
この本を読んできて、ドメインオブジェクトの視点からオブジェクト指向とはどのようなものか、オブジェクト指向の開発とは何かを知ることができたのではないかと思います。 また、この本の内容が自社製品のリファクタリングをする上で基準の参考になりました。

次の読書会は入門 監視 ―モダンなモニタリングのためのデザインパターンを読んでいきます。