2018更新 :由于几乎所有的IDE都允许轻松调用/声明查找,因此在此处切换约定的主要好处是没有实际意义的。 3年之后,我已经切换回“方法名称之后没有空格”规则,因为大多数语言中的大多数样式指南都使用它 ...现有代码样式的例外是IMVHO当增益超过“WTF因子”时可行变化; 在这种情况下,使用最新的工具,没有实际的收益,所以我个人建议不要使用下面提出的备选方案。
我不同意1999年未维护的White Space Java惯例的解释。 它只是说空间不应该用于帮助区分关键字和方法调用 。 因此,没有任何正式规则是否使用环境,其中不能出现方法调用(因此不需要这样的帮助在哪里)的空间-这样,规则显然不适用于invocative上下文(其中电话可以出现,它可以帮助), 不适用于声明上下文(其中调用不能出现,哪里会没有任何意义)。 更多 - 因为约定规定空白使用应该有助于区分使用上下文 ,使用声明空间实际上保持规则的精神 - 它实际上允许您区分方法调用和方法声明,即使使用简单的文本搜索(只需搜索方法名称后跟空格)。
切换到它后,区分调用和声明变得更容易。 它还突出了这样一个事实,即名称后面的括号不是调用的 - 并且它们的语法与调用语法不同(即在变量名称之前需要类型声明等),正如您已经注意到的那样。
tl;博士,你可以使用
void method () { } // declaration
void method2 () { // declaration
method(); // invocation
}
能够快速只对声明/调用进行搜索并同时满足约定。
请注意,所有官方Java代码以及大多数代码样式都不使用声明中的空格。