小编use*_*435的帖子

我应该重构这个深度嵌套的ruby方法吗?

下面的Ruby代码是应该分解成更小的方法还是应该保留"原样",因为如果分解它会碎片过多?我们不确定应该采用什么样的正确方法.我们知道使用单个测试的小方法通常是最佳实践,但是在这种情况下,这样做似乎会使这些代码过于"薄"并大大降低可读性.这类代码在这方面的最佳实践是什么?

if $?.success?
    puts "Running git fetch"
    `git fetch`
    if $?.success?
        puts "Running git reset --hard origin/#{mbranch}"
        `git reset --hard origin/#{mbranch}`
        if $?.success?
            puts "Running git merge origin/#{branch} --no-ff -m \"STAGED:#{ticket} - #{title}\""
            mergeres=`git merge origin/#{branch} --no-ff -m "STAGED:#{ticket} - #{title}"`
            if $?.success?
               `git log -n 1 | grep "STAGED:#{ticket}"`
               if $?.success?
                  ret=true
                  if resjs eq "yes"
                     puts "Entering reservejs directory..."
                     `cd /#{dir}/zipcar-main/zipcar acs/packages/zipsite/www/reservations/reservejs`
                     if $?.success?
                        puts "Running git fetch on reservejs"
                        `git fetch`
                        if $?.success?
                           puts "Running git checkout …
Run Code Online (Sandbox Code Playgroud)

ruby format coding-style rspec indentation

0
推荐指数
1
解决办法
109
查看次数

标签 统计

coding-style ×1

format ×1

indentation ×1

rspec ×1

ruby ×1