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のオススメ「良い例」だそうです!
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
|
なぜRubyのcase/whenはインデントしないのかを考えてみた - give IT a try
大きな数にはアンダースコアを入れる
ついつい忘れがちだけど大切!
1 2 3 4 5 |
|
Railsの国際化(i18n)の「lazy lookup」について
辞書ファイルで下のように訳語が定義されている場合、app/views/users/show.html.hamlでは下記の呼び出し方でusers.show.titleを呼び出すことができます。 このような呼び出し方を “lazy lookup” と呼びます。
1 2 3 4 5 6 7 8 9 10 11 12 |
|
最新のスキーマで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