def useable?
if !self.value.nil? and self.active and !self.used?
unless self.starts.nil?
if self.starts > Time.now
return false
end
end
unless self.ends.nil?
if self.ends < Time.now
return false
end
end
return true
end
return false
end
我对Ruby和Rails很陌生,并且觉得这块代码可以编写得更好,但是对于我来说,我无法想出一些有用的东西。
答案 0 :(得分:3)
这个问题更适合CodeReview,但是你走了。
def useable?
return false unless value && active && !used?
return false if starts && starts > Time.now
return false if ends && ends < Time.now
true
end
提示:您不需要将self
与读者方法一起使用。
答案 1 :(得分:2)
def useable?
return false if value.nil? or active.! or used?
return starts <= Time.now unless starts.nil?
return ends >= Time.now unless ends.nil?
return true
end
答案 2 :(得分:0)
我想也许这就是你想要的。
def useable?
if starts and ends and value and active and used
return false if starts > Time.now or ends < Time.now
return true
else
return false
end
end
一些建议:
(1)!self.value.nil? ==等于==&gt; self.value
(2)减少代码行
if self.ends < Time.now
return false
end
等于:
return false if self.ends < Time.now