Java:使用大括号可以使代码更具可读性吗?

Den*_*gin 2 java coding-style

我试图简化一些复杂的代码块,并发现用大括号分隔逻辑块很有用:

{
  // step 1

  {

    // step 2

      {

      // step 3

      }
    }
}
Run Code Online (Sandbox Code Playgroud)

这样做是生产代码吗?将它们提取到单独的函数不被认为是一种选择,因为它需要将许多参数传递给它们并开发合理的函数名称 - 不值得.

kam*_*uel 7

从技术上讲 - 是的,它不会破坏任何东西(除了作用域变量,它会在编译时检测到).

从代码质量的角度来看 - 它听起来不像你想要做的事情.如果你的方法很大,你应该尝试将它分解成更小的部分.也许您在该方法中使用的变量,如果有这么多的变量,应该是该类的成员?然后,您将能够更轻松地拆分方法.

你应该避免使用这个庞大的单片代码块的原因是多方面的.对于如此大的方法可能更难推理,对它进行单元测试可能要困难得多,同样对于调试也是如此.

作为旁注,就个人而言,当我需要一个大于20-30行代码的函数时,我几乎从未发现自己处于这种情况.如果发生这种情况,我会开始考虑将其分解,或者甚至做一些更复杂的重构.在考虑如何解决问题时,一个好主意就是编写几个单元测试.如果测试结果不明确,并且它们往往在它们中有多个不同的断言等,则它的符号函数太宽泛.