Ruby on Railsでコードを書く時に参考にしているプロジェクトたち
これは 株式会社TimeTree Advent Calendar 2024 の5日目の記事です。
前回は @fujikky の 旧暦・六曜について(後編) でした。前後編の壮大な記事でしたね。
Rails書く時に何を参考に書くか?
Railsを書くときにみんなどうやって書いてますか?書籍を参考にすることもありますし、仕事のプロジェクトの既存コードを参考に書いたりすることもあると思います。
自分はそれらに加えてOSSで活発に開発されているコードを参考にしたい!と思ったことがあり、色々漁っていた時期がありました。そこで今回は自分がRailsでコードを書くときに参考にしていたプロジェクトを紹介しようと思います。
いざ「綺麗なソースコードを書こう!」となってもどういうものを指すのか分からないし、具体例が欲しいですよね。実際のプロジェクトであれば参考になる物も多いですし、何よりソースコードを読むという練習もできるので、もし気になった方はぜひ今回紹介するプロジェクトのソースを読んでみてください。
読む時ですが実際動いているサービスがありますので、触りながら「これってどうやって書いてあるんだろ?」という観点で見ると自分は入ってきやすかったです。ご参考までに。
Disclaimer
ここで紹介するプロジェクトの詳細(ここがいいとか)についてはこの記事では言及しません。最近しっかり追いかけてなくて忘れちゃってるので…。ぜひサービスを触ってみて作り方が気になるところを読んでみてください。
mastdon
最初はmastodonです。えっmastodonってRailsなの!?って思いました?僕も思いました。いわゆるSNSの機能は網羅されていますので、一通り見るとすごい参考になると思います。自分が見ていた時は招待用のコードの管理とかで悩んでいたりした時にその辺りのコードを見て「へーこうやってるんだー」と参考にした記憶があります。
GitLab
次はGitLabです。GitLabではいろんな認証方法があるので、それらについてどうやって取り扱ってるのかな、とか認可も複雑なのでどうやって書いてるんだろー。と思いながら読んでました。これぐらいのプロジェクトになると膨大すぎて一つの機能探すだけでも大変ですね…。
forem(dev.to)
dev.toもRailsです。確かdev.toが出てきた時にめちゃ速いみたいなことが話題になってたかと思うのですが、ソースも公開されていてどうやってるんだろ、と思ってのぞいていました。割と新しいプロジェクト(当時)だったのでディレクトリ構成なんかを参考にしてました。
番外編(once)
こちらはKaigi on Rails 2024のキーノートで紹介されていて知ったのですが、37signalsが買い切りでソースコードを販売しているプロジェクトになります。CampfireとWritebookの2つのプロジェクトがあります。番外編としたのはこれまだ買ってなくて中身について知らないためです…と思ってたらWritebookは無料ですね!後で見てみて追記できたらします(できたらね、できたら)。
Campfireの方は有料ですので、会社で買ってみんなの勉強資料として使えないかな…などど考えていたりします。
まとめ
はい、ということで自分がRailsを書くときに参考にしている(た)OSSのプロジェクトについて紹介しました。他のプロジェクトについてコードを読むことは刺激になりますのでおすすめです。特によく知られたサービスだとどういう作りになっているのか、どういう設計になっているのかが公開されているのは非常にありがたいです。仕事のプロジェクト開発の参考にもなるかと思いますので、気になったらぜひソースコードを読んでみてください。
TimeTreeのエンジニアによる記事です。メンバーのインタビューはこちらで発信中! note.com/timetree_inc/m/m4735531db852
Discussion