我一直认为括号提高了可读性,但是在我的教科书中有一句话说使用括号会大大降低程序的可读性。有没有人有任何例子?
最佳答案
我可以找到很多反例,其中缺少括号会降低可读性,但对于作者可能的意思,我能想到的唯一例子是这样的:
if(((a == null) || (!(a.isSomething()))) && ((b == null) || (!(b.isSomething()))))
{
// do some stuff
}
在上述情况下,方法调用周围的 () 是不必要的,并且这种代码可能会受益于将术语分解为变量。由于所有这些接近的括号都处于条件中间,因此很难确切地看到什么与什么组合在一起。
boolean aIsNotSomething = (a == null) || !a.isSomething(); // parens for readability
boolean bIsNotSomething = (b == null) || !b.isSomething(); // ditto
if(aIsNotSomething && bIsNotSomething)
{
// do some stuff
}
我认为以上内容更具可读性,但这是个人意见。这可能就是作者所说的。
括号的一些好的用法:
System.out.println("The answer is " + (a + b));
可能混淆使用括号:
a.isSomething()
前面多于。在 Java 中,如果 a
是 Object
, !a
本身就是一个错误,所以很明显!a.isSomething()
必须否定方法调用的返回值。 关于programming-languages - 在程序中使用括号会降低可读性的例子有哪些?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2442088/