2017-07-30 96 views
1

我想我的左大括号在同一行的声明,包括一般例外结束同一直线上,即LeftCurly上除了在CheckStyle的意见

void someMethod() throws Exception { 

void someMethod() 
throws Exception { 

,而不是

void someMethod() throws Exception 
{ 

但是,如果我要评论的Javadoc之外的异常,BR ace需要移动到下一行以确保它没有被注释掉,并且它不会在大括号之后出现,这会使得难以与异常关联,所以我需要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的理解。

+0

如果这是一个有效的解决方法:我更喜欢把评论的东西,各自东西之前,因为它是在java源代码中完成的。参见例如[String.java](http://hg.openjdk.java.net/jdk7u/jdk7u6/jdk/file/8c2c5d63a17e/src/share/classes/java/lang/String.java)(第241,248行,...)。 – Izruo

+0

我明白了。将这些注释与下面的语句联系起来很容易,并且将它们放在语句之后看起来很奇怪,而在上面的例子中,将注释放在参数或例外之后会更清楚。在String.java中似乎没有这样的注释;在2462线和其他人他们做我想避免的方式,因为它不是尽可能清楚的评论属于哪里,特别是如果有不止一件事评论。 –

回答

1

个人而言,我会考虑下它直接将有关异常的评论 - 左大括号后:

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. 
{