この記事は設計こばなし Advent Calendar 2023の2日目(12/2分)です。
概要
今年度SOLID原則の勉強会を開催してきました。インターフェース分離の原則の勉強会を実施したときに参加者の方のフィードバックが学びになったので共有します。
インタフェース分離の原則の勉強会について
勉強会概要
インターフェース分離の原則の勉強会の概要はこちらです。
勉強会の資料
勉強会の資料はこちらです。
勉強会の録音データ
Xのスペースの録音です。ご興味あれば資料を一緒に見ながら聞いてみてください。
学びになったフィードバック
勉強会を実施し、参加者からのフィードバックは下記がありました。
課題があるからインターフェースを分離する、という方針はどうか?
勉強会ではインターフェース分離の原則の原則違反、原則に則った例のコード例を話しました。
参加者からつぎのようなフィードバックをもらいました。
- ただインターフェースを分離するのではなく複雑な構造を改善するなど課題を解決するためにインターフェースを使うという方針が良いのではないか
このフィードバックを聞いた時に納得感がありました。
勉強会のためにWebのサンプルコードを見たり、ChatGPTに聞いたりして情報収集をしました。
情報収集した結果をサンプルコードとして掲載して勉強会で発表しました。
しかしそれはあくまで説明用のサンプルコードで実際の開発現場の課題がある、カオスな状況のコードを解決するためのコードではありませんでした。
インタフェース分離の原則の技術を使うという視点ではなく、課題を解決するための原則を使うという観点を持つことは大事ではないかと感じたフィードバックでした。
インターフェース分離の利点について具体性がいまいちだった
インタフェース分離の利点について具体性がいまいちだった、というフィードバックをもらいました。
前述のフィードバックと重複しますが、実際の開発案件のコードで課題を探し、インターフェース分離の原則を適用した場合の効果・効用をシミュレーションしていくなどの姿勢が大事と感じました。
実際に原則に則り課題を解決し、効果・効用を身をもって体感できたときに理解力が増すと思いました。
例題のコードが単純すぎるためメリットがわかりずらい
前述のフィードバックと重複しますが、説明のためのコードでは単純すぎて原則を適用した場合の効果を体感できない面はあるだろうなと思いました。
ChatGPTで学習をすすめていましたが、ただ原則の説明を求めるのではなく、プロンプトを工夫するなどするのも手かなと思いました。
インタフェース分離の原則違反で課題がある状況を指示し、インターフェース分離の原則で課題を解決してください、などすると生成AIを設計の学習に役立つパートナーにできるかもしれないと思いました。