OOC 2024 参加レポート
こんにちは!Septeni Japan株式会社でデータエンジニアをしている大志万といいます。
Object-Oriented Conference 2024 に参加してきました!
このブログでは整理の意味も込めて、参加したセッションとその感想を記載したいと思います。
参加した背景
業務ではPythonを書く機会が多いのですが、これまでPythonは我流で勉強していました。
しかし、うまく書けていないと思うことが多かったため、オブジェクト指向だったり、DDDだったりを勉強している最中、ちょうど先輩エンジニアにOOCに行かないかと誘われ、参加してきました🫠
DDDに興味があったので、実際にDDDを導入してみた系のセッションを中心に見て回っていました!
参加したセッションとその感想
チームでモデリングを育てる上で考えたこと・気づいたこと
感想
DDD初期導入時「モデル図やユースケース図が更新されない」という課題があり、どのようにしてチームにモデリングの習慣を定着させようとしたのか自身の体験談を語る内容でした。
「チームでモデリングを育てるには」という問いに対して、5W1Hをフレームワークとして使っていたのが印象的でした。
業務をしていると、大きな問いに対して、どこから取り組めばいいのかわからなくなることがあります。そういったときに「5W1H」というフレームワークはどんな問いに対しても、ある程度情報を整理してくれて、いいかもしれません。
モデリングに関してはスモールスタートとして、開発メンバ中心に行っているようでしたが、私が所属しているチームも「スモールスタートでまずやってみよう」となることが多いので、機会があればその後どうなったのか聞いてみたいと思いました。
DDDはなぜ難しいのか / 良いコードの定義と設計能力の差
感想
pospomeさん自身の体験を元に、DDDの理解しづらかった部分とそれをどのように克服していったのかという内容でした。
DDDを勉強し始めたばっかりだった私にとって、とても勉強になるセッションでした!
ドメインレイヤをドメイン駆動設計するにはプログライミングの基礎力が必要であり、これがある意味"壁"として立ちはだかる
という言葉で、設計には近道はなく、基礎をコツコツ勉強する必要があるんだなと思いました。
また、セッションでは、設計能力の壁を打ち破るには
- 自分で頑張って勉強する
- 設計スキルの高い人に教えてもらう
という二つの解決方法が提示されていました。
弊社の中にもDDDに詳しい人がいるので、設計する際はその先輩にフィードバックをもらいつつ、自分でも引き続き勉強していきたいと思います。
ビジネスロジックを「型」で表現するためのタイプセーフなDDD
感想
適切にクラス設計をすることで、コンパイル時にプログラムの不整合に気づけるようになるという内容でした。
静的型付け言語は今まで使ったことがなかったのですが、コンパイル時にエラーに気づけるようになるのは便利そうだなと思いました。
また、具体的な内容とコードを用いて解説されていたので、後で自分でもコードを書いてみてみたいと思います。
DDDでレガシーコードに立ち向かうリアル、躓きと学び
感想
今回一番面白いと感じたセッションでした
1ファイルにほぼ全処理が書かれていて、テストも手動で行っているレガシーコードをリファクタする過程が赤裸々に語られた内容でした。
勉強になったところは、リファクタガイドラインの箇所です。
対象のシステムは大きくて複雑なシステムだったので、一気にリファクタするのではなく、改修が発生した時に順次リファクタしていくという方式をとっており、その際、リファクタの手順をまとめられたリファクタガイドラインが定められていました。
レガシーコードをDDDの要素に切り出す順番や、UseCaseからModelsやRepositoriesに移していくという手法が、あまり大きなシステムを触ったことがなかったので、参考になりました。
また、リファクタの感想として、レガシーコードはリアルな設計課題の宝庫
、レガシーコードのリファクタは宝探しと考えると楽しそうじゃないか
と話していたことが印象的でした。
確かにレガシーコードのリファクタなどはネガティブなイメージとして捉えられがちですが、自分を成長させるとてもいい機会なのかもしれません。私もそういう機会があれば、ネガティブにならずに、ポジティブな気持ちで立ち向かっていきたいです。
オブジェクト指向は必要なのか
感想
オブジェクト指向の歴史を振り返りつつ、オブジェクト指向を「継承を使うプログラミング」と定義した上で、その理由と使い所を解説するという内容でした。
オブジェクト指向の歴史について初めて知ったので面白かったです。
オブジェクト指向についてはいろんな考え方があるとは思いますが、私自身オブジェクト指向という単語についてなんとなくのイメージしか持っていなかったので、トークを聞いて理解が深まったと思います。
まとめ
実はオフラインのイベントの参加は初めてだったのですが、DDDやオブジェクト指向の理解が深まり、参加して良かったと思いました!
ブログを書くことで、より内容について整理できたと思います。
また機会があればこういったイベントに参加したレポートを書きたいと思います。
We are hiring
Septeni Japanでは、一緒にプロダクト開発組織を盛り上げてくれる仲間を募集しています!
ご興味のある方は以下リンクから応募していただき、カジュアル面談を通じて働く環境や仲間を知っていただければと思います!
その際、応募フォームの「知ったきっかけ」に「テックブログ」と記載いただければと思います。
Discussion