SoSoraEndo2025年5月13日1 min271 字
個人技にしないために
N+1 は知識ではなく「気づき」に依存します。だからレビューで指摘するより、気づかざるを得ない仕組みを CI と開発体験に組み込む方が早い。
仕組みの組み合わせ
- Bullet を development で
Bullet.raise = trueにする — 検出時にテストや画面が落ちる - prosopite を test で導入し、CI でも検出する
- logger を仕込んで、発生箇所のスタックトレースを Slack に投げる
レビューでの追記コメント
指摘は「N+1 です」だけだと弱い。includes か preload か eager_load のどれを使うべきか、SQL の行き先まで一緒に書くと、書き手が次から自分で判断できるようになります。
まとめ
仕組みで網を張り、レビューで判断軸を渡す。これを 3 ヶ月続けると、チームの平均的な ActiveRecord リテラシーが目に見えて上がります。