LeftCurly 在同一行,除了 checkstyle 中的注释

LeftCurly on the same line except for comments in checkstyle

我希望我的左花括号与声明的末尾在同一行,包括一般的例外情况,即

void someMethod () throws Exception {

void someMethod ()
throws Exception {

而不是

void someMethod () throws Exception
{

但是,如果我想在 Javadoc 之外注释异常,则需要将大括号移到下一行以确保它没有被注释掉并且它不会出现在大括号之后很难与异常联系起来,所以我需要 checkstyle 来识别这个特殊情况或提示我没有看到的东西,例如

void someMethod() throws Exception
    //that's ugly, fix later. The reason Exception is thrown is because of this
    //very very very very very very very very very very very very very very very
    //very very very very very very very very very very long reason that spans
    //multiple lines
{

Javadoc 之外的注释可能是对 @throws 解释的补充,例如来电者不应该被打扰的事情。这个用例很少,因为建议在可见的 Javadoc 中尽可能多地共享,但我也想拓宽我对 checkstyle 的理解。

就我个人而言,我会考虑将有关异常的注释直接放在它下面 - 在左大括号之后:

void someMethod()
        throws Exception {
    // todo: that's ugly, fix later. The reason Exception is thrown is
    // because of this very very very very very very very very very very
    // very very very very very very very very very very very very very
    // very very long reason that spans multiple lines.

你也可以重新考虑放在Javadoc中,还是真的坚决不放?

另一种选择是在这种异常情况下使用 SuppressWarnings 注释(在 java.lang 中定义)抑制 Checkstyle 警告:

@SuppressWarnings("checkstyle:leftcurly")
void someMethod()
        throws Exception
    // todo: that's ugly, fix later. The reason Exception is thrown is
    // because of this very very very very very very very very very very
    // very very very very very very very very very very very very very
    // very very long reason that spans multiple lines.
{