DDD(ドメイン駆動設計)の技術研修(最終回)を実施しました!

こんにちは、株式会社TRYANGLEです。

第二回にわたって開催していた【ドメイン駆動設計研修】の今回は最終回となる第三回目です。

前回、前々回に引き続き、講師には日本のDDD(ドメイン駆動設計)の第一人者として知られる
株式会社ログラスの松岡 幸一郎さんをお招きしました✨✨

今回の研修では最終回ということで、「自動テスト基礎+DDDのテスト」をテーマにDDDにおけるテストの解説と各レイヤー毎のテストをどの様に書くか等について講義していただきました。

前回、前々回同様、DDDについて全く知らない社員から実際に利用し開発を行っている社員まで幅広い立場の社員に向けて行われ、

今回も参加した社員の感想を抜粋してご紹介します!


① 参加する前にDDDについて悩んでいたこと

・テストコードを書く経験がなく、何をどうするものなのかイメージが湧かない
・テストコードを書くメリットをあまり感じておらず、どの層に何を書くべきかの判断基準があやふやで、悩んでいる
・リポジトリ層のテストについて、特に構成面を含めた具体的な実施方法を知りたい
・ドメインにまとめるほどではないが、データとして存在する要素をどこに配置すべきか(実装や変数の属する層)が
 曖昧で迷っている
・DDDのテストが何をするのか、全体像がつかめていない・自分が持つ業務知見を効率的に他者に共有する方法が分からず、
 苦戦している


② 研修に参加して何を得ることが出来たか

・テストコード作成の考え方がメインだったが、コードを使用しない単体テスト作成にも応用できそうだと感じた
・テストの評価基準や作成のイメージがつかめ、以前より何を意識すればよいかが少し分かった
・テストを書くことで、リファクタリング時の動作確認が早くなるメリットを実感した
・リポジトリ層のテストでは、Dockerイメージを使うことやテスト実行のタイミングを調整する(PR後ではなく
 マージ後に実行する等)視点が目から鱗だった
・新規プロジェクトでDDDを提案する際に、メリット・デメリットを説明できるようになったと感じた
・実践が難しい場合でも、DDDの考え方を現場に持ち帰ることには意義があると理解した
・ドメイン層とユースケース層の役割や判断基準(例:仕様の表現方法やルール・制約)が明確になった
・テストデータの用意や書き方について自信が持てた
・DDDや自動テストの実現には泥臭い実装が必要な場面もあるが、状況に応じた優先順位で取り組むべきことを決めるのが
 重要だと学んだ
・ユビキタス言語を用いることで認識齟齬を防ぎ、直感的に把握できる仕組みを構築できると体感した
・現場では動作確認が主流だったが、ユニットテストの基礎から学ぶことでテストの重要性と実践方法を理解できた


③ 今後の業務で、実践してみたい・意識してみたい事

・仕様を意識しながらテストコードを書いてみたい
・テストコード作成時には「何を確認したいのか(What)」と「そのための具体的なコード(How)」を意識して進めたい
・テストの基本をユニットテストからしっかり学び、業務にも活用していきたい
・現場における形骸化したテストコードの改善を促したい
・現在の案件や社内システムにテストの考え方を導入し、一日一回のビルドや効率的な開発手法を試してみたい
・ドメイン設計に基づいた実装とテストの導入で、作業者の負担軽減と効率的な開発を目指したい
・DDD全体についての知見を得たため、特にDB周りなど現在の案件でも活用できる部分を実践してみたい
・各層の責務を意識した設計やドメインモデル図の活用を進めたい
・DDD+オニオンアーキテクチャを提案するところまで挑戦したい
・DDDを実践することで、自動テストがしやすい設計になると感じたため、徐々に現場に適用していきたい・テストコード化の
 流れが現場であるため、コメントの書き方やリポジトリテストの追加などを参考にしながら進めたい


著名な講師の方をお呼びし、第三回にわたって開催したドメイン駆動設計研修。
社員にも有益の時間となったようで、この他にもたくさんの感想がありました🐱

TRYANGEでは各種研修を社内で定期的に実施し、普段の業務だけでは学びきれない知識や技術獲得のフォローを行っています。
プログラマ・エンジニアともに大募集中!ですので、
一緒に学んでいきたい方はぜひHP上部メニューより採用サイトをご覧ください!

次回はまた別のジャンルの研修を開催しますので、 またぜひブログをのぞいてみてくださいね💻🎵

関連記事

  1. Firebase Startup & Meetupに参加して…

  2. 初めての帰社日

  3. 「変化に強い」エンジニアへと成長するために

  4. DDD(ドメイン駆動設計)の技術研修(第二回)を実施しました!

  5. 忘年会’24

  6. 社内勉強会ハンズオン実施の様子