Rubyっぽさ

弊社Rubyチームの皆さんに、素振りしたコードをdisっていただきながら、RubyWayのなんたるかを教えていただきました。面白かった!

学んだことの整理としてメモ。おかしな点があったら、それはわたしの理解不足や勘違いなのでその旨よろしくお願いします。

  • return は、要らなければつけない
    • 必ずつける、という説もある
    • 2箇所からreturnする場合にはつける(不要でも)
  • インスタンス変数(attr_readerとか)はclass行の直後に
    • class → ドキュメント → 属性 → その他
  • クラスの内部でも、インスタンス変数よりアクセサを好め
  • 定数はFOO_BARでもいいが、FooBarでもいい
    • DHHはFOO_BAR
  • 命名
    • 深い。
    • 読みやすく、かっこよく
    • if文が長いとくじける
  • Structクラスでデータの塊を作る
  • loopは使わない
    • いかにしてeachを使うか?と考える
  • to_sは文字列表現、デバッグ用など中身を文字列化するにはinspect
  • Generatorは死ぬほど遅い
    • 3秒以上かかってたのを、Generatorやめて内部イテレータにしたら0.02秒
  • ブロックの書き方
    • 一行なら { }
    • 複数行なら [do]...end
      • doも必要なときだけ付ける