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

时间:2015-03-04 08:58:24

标签: java coding-style

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

{
  // step 1

  {

    // step 2

      {

      // step 3

      }
    }
}

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

2 个答案:

答案 0 :(得分:7)

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

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

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

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

答案 1 :(得分:2)

我认为这将导致相反的效果。括号会损害可读性,并且会使读者感到困惑,因为他会期望在这些括号之间真正需要的东西。我建议使用// ----------- abc的逻辑部分------ 为此。

使用注释而不是括号会更清楚。你甚至可以描述那里发生的事情。

EDIT说:将大型方法分成更小的方法总是值得的。只需将它们设为私有。软件质量指南说:每种方法都应该只有一份工作。