Meta p.s. #23「Railsで開発効率・保守性を向上させるTips6選」

こんにちは。メタップス人事の芳賀です。
今回は先日開催したトークイベント Meta p.s. #23についてレポートします!

Meta p.s.とは?

メタップスグループで行っている社内外含めたオープンな交流の場として、業務で使っている知識、技術を紹介し、共有する会になっています!

#23は渋谷スクランブルスクエア内の会議室を開放してオフライン/オンラインでのハイブリッド開催をしました。

今回のテーマ

今回のテーマは「Railsで開発効率・保守性を向上させるTips6選」です。 こちらのテーマについて、メタップスホールディングスのエンジニアマネージャーの川﨑さんが話してくれました!

全体の流れについて

まずは、メタップスホールディングスにて全エンジニアに導入しているGithub Copilotについて解説してくれました。
詳細についてはこちらのプレスリリースもご確認ください。

開発支援AI「GitHub Copilot」をエンジニア全社員に導入、1か月間のテスト運用で負荷軽減を確認 ー 株式会社メタップスホールディングス

GitHub Copilotも含めて開発効率や保守性を向上させられるような、ちょっとしたツール(gemやライブラリ)や設計について解説してくださったのでいくつかピックアップして、紹介していきます。Railsを例にあげておりますが、Rails 以外のフレームワーク・言語でも応用できる内容となっていますのでぜひ見てみてください!

RuboCopについて

こちらはRubyのLinter / コードフォーマッターです。導入のメリットは以下の通りです。

具体的な導入やルール(Cop)の設定方法の解説もアーカイブ動画内にあるので気になる方は見てみてください!

tblsについて

こちらデータベースドキュメントの自動生成ツールです。利点としては主なものはこちらの通りです。

実際のドキュメントは、テーブル名やカラムのタイプなどをマークダウン形式で自動生成し、ER図も生成されるので非常に見やすいようです。ローカルでもコマンド実行できますが、CIでドキュメントを生成がオススメ!

Git Hooksについて

Git HooksはGitで特定のアクションが発生した際に、カスタムスクリプトを実行できる機能です。活用ケースのアイデアとしては、以下のようなシチュエーションです。

具体的な設定の例として、RuboCopをコミットタイミングで行う場合が以下の画像の通りとなります。

RuboCupのチェックが仮に失敗した場合には、コミット自体も取り消しとなるので、コミット前にRuboCupを挟んで事前に修正してからコミットもできます。

上記で取り上げたもの以外にCommittee::RailsやForm層の導入にも本編では触れていますので、YouTubeにてご確認ください。

過去の回について

当イベントのアーカイブ動画はすべての回YouTubeにアップしておりますので、ぜひ見てみてください!

Meta P.S. 「多分動くと思うからリリースしようぜ!」 - YouTube