Upgrade to Pro — share decks privately, control downloads, hide ads and more …

FatControllerに育ったRailsを改善した話

Sponsored · Ship Features Fearlessly Turn features on and off without deploys. Used by thousands of Ruby developers.

 FatControllerに育ったRailsを改善した話

開発の速度を優先するあまりコード負債を多く抱えてしまう、といったプロジェクトは少なくないはずです。私たちが開発している Lynx でも、気づけば Controller が肥大化し、メンテナンス性やテスタビリティを大きく損なってしまう状況に陥っていました。本記事では、Fat Controller問題にどう向き合い、どのように改善していったか、その背景と実際の工夫を共有します。

Avatar for Shota Takahashi

Shota Takahashi

October 05, 2025
Tweet

Other Decks in Programming

Transcript

  1. • 23歳、2025年3月に電気通信大学を卒業 • Ruby on Rails 業務経験3年 • 現在はフリーランスとしてスタートアップ企業でソフトウェアを開発 💪

    ◦ 株式会社タイムラボで「Lynx」というカレンダーを同期する Webアプリを鋭意開発中 ◦ Otaac合同会社で推し活を支援する toC モバイルアプリを鋭意開発中 • X: @stak_22 stak / Shota Takahashi
  2. まとめ • Fat Controllerは短期的には開発スピードを上げるかもしれないが、長期 的には負債化する • CQRSによる「1 Action = 1

    Class」で責務を明確化 • ControllerはHTTP処理だけに専念、ロジックはドメイン層へ • テストピラミッドを整え、リファクタや改善を継続的に行える状態に