https://academist-reading.connpass.com/event/345818/academist-reading.connpass.com
「プリンシプル オブ プログラミング」読書会第8回を開催したので、簡単な感想を書きます。
感想
パッケージ化

- 最初、Rubyで言えば、Gemとかモジュールとかそういう話かと思っていました。
- よくよく見ていくと、「分類して集めるんだ!」という方針を述べているだけで、テクニックの話じゃなさそうです。
- 本では「ボトムアップで」とありましたが…実装に限らずに「パッケージ化」はあるんじゃないか?というふうな意見も出て…これはなるほどでした。
関心の分離

- 「関心」という軸で分離するのは結構しっくりきます。
- 横断的関心事、アスペクト指向のことだと言われて、せやせや、でした。
- あんまり言葉を覚えてなくって💦
- ログとか画像アップロードとか認証とか…フレームワークが用意してたり、OSSライブラリがあったりするのはこのあたりでしょうか。
- それらがなくても、自システムで決まった所作が必要なところの共通クラスを作ったりはするので、必要に駆られて結構やっていることかも。
- もうちょっと意識しようかと思います…!
充足性、完全性、プリミティブ性

- このプルリクエストじゃ使わないけど、あとから誤解されるかもしんないので、(addに対するremoveなどの)対になるメソッドを作りたくなるときがある…。
- YAGNIとバッティングするときもありますね、と話題に上がりました。
- 本を見直したら、「どうして?」に「表現している抽象を正確に伝える」とあり、まさに先に挙げた話でした。
- 実装タイミングはともかく、方針としては持っておくのは大事だと思いました。
ポリシーと実装の分離

- ここの話だけじゃないけど、言語やフレームワークによる実現方法をちゃんと知ってないと、サボりがちなイメージがあります…。
- 各コントローラにログインしてるかどうかの実装を書くとか、バリデーションの実装をしちゃうとか…。
- 自分もやり方がわからなかったときとか…時間がないときに結構バラまいちゃってた気がします…。
- ただ、それは「分離するぞ!」って思わなかったから、方法を探すことまでしなかっただけかも?
- これからはやっていこうと思います💪
- ポリシーモジュール→実装モジュールに変化したとき、という話題が出ました。
- 変わったら変わったで、共有部分をちゃんと外に切り出して整理する、といったことをしたほうがよさそうです。
- 事業やアプリケーションが育ってきたときに、機能的なチームのほかに横串で入るプラットフォームチームができてきて、そこが担当しそうなものがポリシーを実現するための部分、みたいな話も出てきました。
- 横断関心事、みたいな部分ですね。
- ウチはまだ小さいけれど、たしかにそういうモジュールはありますもんね。
運営としてのふりかえり
Keep
- 録画しました。
- 今日は二人じゃなかった!
- 話を振るようにしてみました。
Problem
- 人数が少ないくらいですかね…。
Try
- 次も録画していいか訊いてみる!
- 次回のページをなるべく早く作る。
最後に
この先もやっていきますので、なるべくみなさんの経験や疑問を聴いて、参考にしていきたいと思います!