2015/2/17にみんなのウェディングさんで開催された
『Ginza.rb 第20回 Rubyを使っているプロジェクトのコーディング規約を見てみよう』
に参加してきました。コーディング規約をじっくり議論できる場所はなかなかなかので、かなりおもしろかったです!
🏈 スタイルガイド
今回Ginza.rbで一緒に読んだコーディング規約。
Rubyのコーディング規約
ruby-style-guide/README.ja.md at japanese · fortissimo1997/ruby-style-guide
Railsのコーディング規約
rails-style-guide/README-jaJA.md at master · satour/rails-style-guide
🐮 おもしろかった規約
議論に聞き入りすぎて、あんまりメモしきれませんでしたが今日から使いたいコーディング規約の俺得メモです。
whenはcaseと同じ深さにそろえる
このスタイルは”The Ruby Programming Language”、”Programming Ruby” 双方で確率されている。
matzのオススメ「良い例」だそうです!
# 悪い例 |
なぜRubyのcase/whenはインデントしないのかを考えてみた - give IT a try
大きな数にはアンダースコアを入れる
ついつい忘れがちだけど大切!
# 悪い例 - 0はいくつありますか? |
🐠 self[:attribute]を使おう
``` |
config/locales/en.yml
en:
users:
show:
title: ‘User details page’
app/views/users/show.html.haml
🚜 悪い例
= t users.show.title
🎂 良い例
= t ‘.title’`
🍮 最新のスキーマでDBを作る場合
Rake db:migrateでなくRake db:schema:loadを利用しよう。
🚕 おもしろそうなGem
brakeman
presidentbeef/brakeman - GitHub
セキュリティ関係の静的解析をしてくれるGem。
active_attr
アクティブモデルっぽい動作を実装してくれるGem。
friendly_id
ユーザーフレンドリーなIDを生成してくれるGem。
mailcatcher
シンプルなSTMPサーバとして振る舞ってくれるGem。
roadie
HTMLメールを作りやすくしてくれるGem。
👽 おもしろそうなサービス
Hound
コーディング規約をチェックしてくれるサービス。オープンソースなら無料で使えます!
ninefold
Rails専門のPaaSサービス。
🤔 おもしろそうな記事
【Rails】なぜクラスメソッドよりもスコープを使うべきなのか? - kotatu.org
我々(主語が大きい)は何故MySQLで外部キーを使わないのか
🗽 おもしろそうな書籍
英語版アプリケーション開発のために、UIやメッセージでよく使われる英単語や構文パターン、さらに英語ライティングの
基本やメッセージの書き方、I18N/L10Nの基本から翻訳業者への依頼まで、幅広く紹介されている書籍だそうです!
🚌 そのほか紹介されたコーディング規約の資料
guides/best-practices at master · thoughtbot/guides
styleguide/ruby.ja.md at master · cookpad/styleguide
Contributing to Ruby on Rails — Ruby on Rails Guides
moneyforward/rails-style-guide
Ruby - Plataformatec Guidelines