ken1flanのブログ

自己紹介・最近やってることなどを書くつもりです。

「良いコード/悪いコードで学ぶ設計入門」読書会 第14回を開催しました

「良いコード/悪いコードで学ぶ設計入門」読書会 第14回 を開催しました。

academist-reading.connpass.com

みんなで書いたホワイトボード

良いコード/悪いコードで学ぶ設計入門」読書会 第13回 ホワイトボード

感想・気づいたことなど

  • 軽んじられがちな名前付け、「名前設計」とちょっとゴツめの呼び方は、大事にしたくなるようでよいかな、と思いました。
    • 名前の大事さは、きのこ本、Matzによる「名前重要」でガッツリ語られています。ここ、自分も好きです。
  • 「商品」を最初からキレイに「予約品」「注文品」「在庫品」「発送品」のようにキレイに分けられないんじゃないか?という話が出ました。
    • 最初、仕様書にはちょっと役割が多そうな「商品」が現れて、そのまま実装、運用がしばらく続いて…一年後くらいに機能追加しようとなったときに「在庫品」が分割できるとキレイなのにな…みたいな場面になるんじゃないか…と。そのときに他の3つも抽出できればバランスがよさそうですが…どうしよう?…と迷いそうだと。
    • メチャクチャありそうで…そして、その場にいたらどうするのがいいのか、かなり迷いますね…。
  • 部署や組織をまたがって、同じ「商品」を扱っているとき、意味のある名前をつけることはかなり難しいのでは…?という話が出ました。
    • これは各グループで関心が違うだろうと思うので……自分でつける必要がありそうですが、結構大変そうに聞こえました。
    • だいたいお客さんがそんなにわかっていることも少なそうですし…。
    • …大変そうですが、がんばるしかないところですね…。
  • 感想を書いてもらった中に、「ラバーダッキング」を試したいとありました。
    • 自分は…やってないと思っていましたが、毎朝やってるミーティングの中で話すので…近いことをやっているかも…。
    • 人に話すと、結構整理されると思います。
    • …相手がいないときは…何度も頭の中ですが読んでいる気がしますね。うーん、ならアヒルさんを買ってもいいかもですw
  • レビューの際に「名前が適切に目的を反映していない」ことを指摘するのはスゴく大変、という話が出ました。
    • レビュワーがシステムのことを様々なことを広く理解していないとこういう指摘はできないだろう、と…。
    • …まさしくその通りだと思いました。
    • 敢えて対策を取るなら、やっぱりチームで「名前をちゃんとつけましょう」という合意を取って、やっていくくらいでしょうか…。あとから考えて間違ってたとしても、それはそれですし…。
  • 驚き最小の原則に対して、同感だけど「驚かない人」がこういうコードを書くんですよね…という話が出ました。
    • 昔は副作用があるコードを書いていたし、なんなら当時の先輩方からそのようにアドバイスされたこともあったような…。
    • これは自動テストがなく、構造を変えると確認が超大変になってしまうからだろうなぁ…と推測してます…。
    • 今は自動テストがあり、一定以上書くようにしているので、そういうあとから困ることをしないで済んでいるような気がします。
    • テスト万歳\(^o^)/!

運営としてのふりかえり

KPT方式で。

Keep

  • 時間前にちゃんと会場を開けておけました。
  • 常連の方、2回目の方がきてくれました!

Problem

  • ちょっと時間が足りず、感想のところが短くなってしまいました…。
    • 仕方ないかなぁ…。
    • 何かしら、アウトプットを残せるようにしたいのですが…。

Try

  • 新規参加しやすいよう、呼びかけの種類を増やしたいです。
  • ホワイトボードに書き込みやすいように、ちょっとしたことでも歓迎!ってどこかに書いてみます。

おわりに

参加してくれたみなさん、ありがとうございました! あとでざっと見直しても、一人で読むより圧倒的に気づくことが多いので、今後も継続してやっていきたいと思います!

参照