Open4

『改訂新版「ミノ駆動本」の活用方法 〜設計勉強会による効果的な学習アプローチ〜』に参加してみた📝

まさぴょん🐱まさぴょん🐱

改訂新版「ミノ駆動本」の活用方法 〜設計勉強会による効果的な学習アプローチ〜

https://findy.connpass.com/event/339191/

登壇者:ミノ駆動さん

https://x.com/MinoDriven

登壇資料📝

https://speakerdeck.com/minodriven/effective-learning-of-good-code

✍️概要

本イベントは昨年12/25に発売された『改訂新版 良いコード/悪いコードで学ぶ設計入門 ―保守しやすい 成長し続けるコードの書き方』の著者であるミノ駆動さんをお招きし、ご講演いただきます。
書籍執筆、多数のご登壇と幅広くご活躍するミノ駆動さんから、所属されているDMM社にて実践され、効果を上げている設計学習方法を基にした知見を共有いただく予定です。
バグを埋め込みにくくする設計のための入門書として、「ミノ駆動本」の愛称でも親しまれている本書を例に、効率的にキャッチアップを進めていくためのヒントを得ていただけますと幸いです。

🧑‍💻こんな方におすすめ

現在、システム設計を行っている方、リアークテクチャを進めている方
システム設計における考え方について知りたい方
設計周りのスキルアップをしていきたいと考えている方
著者であるミノ駆動さんが考えるミノ駆動本の活用方法や、効率的な勉強方法を聞きたい方

☑️イベントのゴール

システムの設計を進めていく上で考慮しなくてはいけない観点を改めて学べた
自身の開発現場で設計やリアーキテクチャを進めていくための参考になった
効率的なスキルアップのために必要な取り組みへの気づきを得られた

まさぴょん🐱まさぴょん🐱

講義内容メモ📝

オブジェクト指向の登場以前に、結合度と凝集度

カプセル化と関心の分離

インターフェースと実装の分離

  • 関心の分離に関する追加コンテンツ
  • トランザクション・スクリプト・パターンで書かれた長大なメソッド
  • インターフェースと実装の分離で解決する。
まさぴょん🐱まさぴょん🐱

効率的に設計スキルを高める学習方法📝

効果について

学習メニュー

学習ステップ

超大事な前提

まさぴょん🐱まさぴょん🐱

質疑応答コーナー・メモ📝

モデリングを行う際に、パフォーマンスを意識していますか?

  • 変更容易性と、パフォーマンスは相反する性質
    • パフォーマンスを意識しすぎると、変更容易性が低い状態になることがある。
  • パフォーマンスは実際に動く状態を作って、計測してから考える。
  • 最初はパフォーマンス抜きでモデリングする。

フロントエンド・エンジニアにも勧めたいですか?

勧められます。
ただし、Reactをフロントエンドで使っている場合は、Reactはフレームワークの使い方に沿って実装すればカプセル化できているはず。
なので、問題(変更容易性が低い状態)が見つからないことが多い。

ワークショップを通じて再設計したコードは、そのまま本番適用するのでしょうか?

  • 得られた知見から、別途プロダクション用に再設計したコードのPRを作成した方がいい。

再設計は、どのように進めていくべきか?具体的な指針や優先順位があれば教えていただきたい。

  • 設計は、1回で理想構造に近づくことはできない。
  • 有限な工数の中で、降りかかる問題(プライオリティ高い)を優先する。