2017-07-30 31 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. 
{