元祖若手のプログラミング奮闘記

元祖若手の奮闘記。主に注意されたことをメモがわりに使用するよ!

Raisでコードの書き方で指摘されたこと

Railsで指摘されたことをまとめる

・アロー演算子を使わない

  # 古いコードを見ながら書くとついついやるやつ
  validates :name, :presence => true
  # こっちの書き方で
  validates :email, presence: true

・evalを使わない
セキュリティ上よくないらしいけど
深くまで知らない
あと例が悪くて申し訳ない。。

  _params = set_params
  search_types = []
  if _params[:name].present?
    name_ids = User.get_ids_by_name(_params[:name])
    search_types << "name_ids"
  end

  if _params[:email].present?
    email_ids = User.get_ids_by_email(_params[:email])
    search_types << "email_ids"
  end

  # &にすることで二つの配列で同じ値のみ代入される
  # merge_ids = name_ids & email_ids
  merge_ids = eval(search_types.join("&"))

・長い1行を改行するときのインデント
 メモ残すまでって感じではないけど一応。。

  # こうするとselfを変えた際に
  # いちいちインデントをそろえなくちゃいけない
  self.where(name: my_name)
      .where(email: my_email)
      .first

  # これで
  self.where(name: my_name)
    .where(email: my_email)
    .first

まだまだ言われてるけど
まずはこれくらいで