如何让Ruby的N端看起来更好?

Geo*_*Geo 2 ruby syntax refactoring coding-style

当我编写一些脚本时,我通常会达到我的代码如下所示的程度:

          end
        end
      end
    end
  end
end
Run Code Online (Sandbox Code Playgroud)

我不了解你,但这对我来说看起来很难看.可以做些什么吗?

Bar*_*lly 18

不要那么嵌套你的代码?重构使用更多方法?使用传递给其他例程的块代替?

一般来说,深度嵌套是指示方法过于复杂且应该被分解的指标.它也可以通过根据重构方法命名内部复合语句来帮助隐式结构文档.


Eth*_*han 5

分解成小块的建议很好.但是如果你需要很多这样的嵌套块,你可以end用注释标记关键字.

    end # End conditional statement
  end # End method declaration
end # End class declaration
Run Code Online (Sandbox Code Playgroud)

仍然很难看,但至少更清楚.

之前提到的其他选项更可取.