Should I use `if defined?`

```
 return @current_user_session if defined?(@current_user_session)
 @current_user_session = UserSession.find

```

Or `||=`

```
@current_user_session ||= UserSession.find

```

I noticed the `if defined?` method being used more and more recently. Is there any advantage to one over the other? Personally, I prefer `||=` for readability. I also think Rails might have a `memoize` macro which provides this behavior transparently. Is this the case?