代码之家  ›  专栏  ›  技术社区  ›  Justin Standard

CheckStyle模块“NeedBraces”能否处理嵌套的if/else块?

  •  3
  • Justin Standard  · 技术社区  · 17 年前

    我们正在使用 CheckStyle 背带 单元

    NeedBraces 指定每个块类型语句(例如 if else , for )必须有开头和结尾的花括号。然而,据我所知,它并不完全正常工作。

    此示例将触发CheckStyle错误。

        if (true)
        {
            System.out.println("20");   
        }
        else
            System.out.println("30");
    

        if (true)
        {
            System.out.println("20");   
        }
        else
            if (true)
            {
                System.out.println("30");
            }
    

    所以


    这个问题的答案令人费解 another question

    2 回复  |  直到 9 年前
        1
  •  6
  •   L. Cornelius Dol    17 年前

    我认为这是一个例外,因为尽管格式奇怪,但你拥有的是一个“else-if”。在本例中,它不应该强制您在“if”周围加括号,因为您将以“…else{if{…}”结尾

    if (true)
    {
        System.out.println("20");   
    }
    else if (true)
    {
        System.out.println("30");
    }
    
        2
  •  1
  •   Adeel Ansari    17 年前

    在第一个示例中,如果尝试在 其他的 块,你将需要把大括号然后。另一方面,在第二个示例中,您将在大括号内添加语句。我相信这就是CheckStyle在前者中显示错误的原因,因为它容易出错。当您真的希望添加语句时,有可能在添加语句时不加大括号 其他的 不在外面。