Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-cloud-platform/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby重构_Ruby_Refactoring - Fatal编程技术网

Ruby重构

Ruby重构,ruby,refactoring,Ruby,Refactoring,我正在制作一个简单的rails站点,它将存储一些日期并执行基本的条件检查。我在下面写了一些方法,他们告诉我可以使它们更有效。我一直在挠头,不知道该怎么做。我是否应该进入。查找全局?还是有更明显的解决方案?提前谢谢 def name @fname = params[:fst_name] @lname = params[:lst_name] @entry = Entry.create({:first_name => @fname, :last_name =>

我正在制作一个简单的rails站点,它将存储一些日期并执行基本的条件检查。我在下面写了一些方法,他们告诉我可以使它们更有效。我一直在挠头,不知道该怎么做。我是否应该进入。查找全局?还是有更明显的解决方案?提前谢谢

 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条件移动到模型中。比如要求合理的加薪


谢谢你的意见,非常感谢!谢谢你的意见,非常感谢!这类问题可能应该被问到,这类问题可能应该被问到