"!"を使う時はいつも身構える

変数の状態確認に"!"を使う時は、いつも身構えています。
適切な確認の仕方なのだろうかと。

メンバの場合

!book.nil?

より

book.present?

と書いた方が何を期待しているか直感でわかりやすい。

モデルのインスタンスの場合

下記が使える。

  • new_record?
  • persisted?
  • changed?
  • destroyed?