Ruby重构
我正在制作一个简单的rails站点,它将存储一些日期并执行基本的条件检查。我在下面写了一些方法,他们告诉我可以使它们更有效。我一直在挠头,不知道该怎么做。我是否应该进入。查找全局?还是有更明显的解决方案?提前谢谢Ruby重构,ruby,refactoring,Ruby,Refactoring,我正在制作一个简单的rails站点,它将存储一些日期并执行基本的条件检查。我在下面写了一些方法,他们告诉我可以使它们更有效。我一直在挠头,不知道该怎么做。我是否应该进入。查找全局?还是有更明显的解决方案?提前谢谢 def name @fname = params[:fst_name] @lname = params[:lst_name] @entry = Entry.create({:first_name => @fname, :last_name =>
def name
@fname = params[:fst_name]
@lname = params[:lst_name]
@entry = Entry.create({:first_name => @fname, :last_name => @lname})
end
def attribs
@person = Entry.find(:last)
@fname = @person.first_name
@lname = @person.last_name
@person.update_attributes({:address => params[:st_name],
:salary => params[:salary], :loan => params[:loan],
:loan_reason => params[:reason]})
if !@person.address.nil? then render "show" end
end
def show
@person = Entry.find(:last)
end
def modify
@person = Entry.find(:last)
@fname = @person.first_name
@lname = @person.last_name
@entry = Entry.create({:first_name => @fname, :last_name => @lname,
:salary => params[:salary], :loan => params[:loan]})
end
def borrow
@person = Entry.find(:last)
if !@person.salary.nil? then
if (@person.salary * 3) < @person.loan
then @message = "You have asked for too much"
else @message = "No problem"
end
else @message = "empty record?"
end
end
end
对于重复使用@person=Entry的情况,请使用before_筛选器。查找:last
不要让每个变量都成为实例变量:对于name:您不需要在视图中访问@fname,如果需要,您可以执行@entry.first\u name
不要使用内联if-then,使用do\u something if-condition。同时也从其他ifs中删除then
您可能希望将事件创建移动到模型中。类似于self.create_from_person_和modify_params
使用Event.last而不是Event.find:last
使用if@person.salary代替if@个人,薪水,零
将if@person.salary*3<@person.loan条件移动到模型中。比如要求合理的加薪
对于重复使用@person=Entry的情况,请使用before_筛选器。查找:last
不要让每个变量都成为实例变量:对于name:您不需要在视图中访问@fname,如果需要,您可以执行@entry.first\u name
不要使用内联if-then,使用do\u something if-condition。同时也从其他ifs中删除then
您可能希望将事件创建移动到模型中。类似于self.create_from_person_和modify_params
使用Event.last而不是Event.find:last
使用if@person.salary代替if@个人,薪水,零
将if@person.salary*3<@person.loan条件移动到模型中。比如要求合理的加薪
谢谢你的意见,非常感谢!谢谢你的意见,非常感谢!这类问题可能应该被问到,这类问题可能应该被问到