我们正在使用 CheckStyle执行我们的风格标准。我们选择包含的样式规则之一是 NeedBraces 模块。
NeedBraces 指定每个 block 类型语句(例如 if
、else
、for
)都必须有左大括号和右大括号。但是,据我所知,它并没有完全正常工作。
此示例将触发 CheckStyle 错误。
if (true)
{
System.out.println("20");
}
else
System.out.println("30");
因为 else case 没有大括号。但是,下一个示例无法触发 CheckStyle 错误。
if (true)
{
System.out.println("20");
}
else
if (true)
{
System.out.println("30");
}
这应该会失败,因为 else 情况下缺少大括号,但 checkstyle 让它通过了。仔细检查文档后,我找不到任何无法正常工作的原因。
所以... CheckStyle 模块“NeedBraces”能否与嵌套的 if/else block 一起使用? 有什么想法吗?
这个问题的答案是another question : 是否有将上述不良代码标记为违规的规则?
最佳答案
我认为这是一个异常(exception),因为尽管格式很奇怪,但您拥有的是“else if”。在这种情况下,它不应该强制你在“if”周围加上大括号,因为你最终会得到“... else { if { ... } }
你的代码应该被格式化:
if (true)
{
System.out.println("20");
}
else if (true)
{
System.out.println("30");
}
关于java - CheckStyle 模块 "NeedBraces"可以使用嵌套的 if/else block 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/382633/