2013-02-18 41 views
5

我們的項目中包含該方法的許多發言鏈流利式:爲方法鏈接配置checkstyle?

int totalCount = ((Number) em 
     .createQuery("select count(up) from UserPermission up where " + 
      "up.database.id = :dbId and " + 
      "up.user.id <> :currentUserId ") 
     .setParameter("dbId", cmd.getDatabaseId()) 
     .setParameter("currentUserId", currentUser.getId()) 
     .getSingleResult()) 
     .intValue(); 

我有CheckStyle的主要配置,以配合我們現有的代碼風格,但現在它的失敗對這些片段,而寧願:

int totalCount = ((Number) em 
     .createQuery("select count(up) from UserPermission up where " + 
      "up.database.id = :dbId and " + 
      "up.user.id <> :currentUserId ") 
      .setParameter("dbId", cmd.getDatabaseId()) 
       .setParameter("currentUserId", currentUser.getId()) 
        .getSingleResult()) 
         .intValue(); 

這是完全不合適的。無論如何配置checkstyle接受方法鏈式風格?有沒有一種替代工具可以從maven運行來執行這種縮進?

+5

我建議將當前的checkstyle配置添加到問題中。 – Piotr 2015-02-20 12:35:24

+0

另外我覺得第二種方式格式化它非常合理。我覺得第一個版本很難閱讀。 – 2015-02-23 20:54:37

+0

@Martin第二種方式對於消息鏈接來說是不希望的,因爲它似乎總是對新的返回對象執行某些操作,而所討論的對象始終是相同的。設想5個更多的鏈接方法,並且在每個新方法之前都有大量的空白空間。 在第一個版本中,清楚地表明每種新方法都從同一級開始。 +1用於所需的配置。 – 2015-02-24 13:08:48

回答

-1

我從來沒有在Eclipse中做過這方面的工作,所以我們幾乎沒有使用Format Source。最後通常最好延長。我們努力嘗試失敗。這是一年半前。最後,我們只在Eclipse中通過選擇行來格式化文本,或者在手動格式化之前先格式化文本。

通常由工程師完成的格式具有一定的含義。自動格式將永遠不會工作。特別是如果你這樣做

public static void myMethod( int value, String value2, String value3)

如果套用這個它沒有類似的例子。

因此,請隨意加入不使用自動格式化的俱樂部作爲一步,然後再以人爲的方式進行格式化。

+0

如果你永遠不會加入行,這是*在Eclipse中的設置。我不知道有一個方法鏈接。 – 2015-02-23 21:26:34

+0

雖然這是一個有趣的帖子,但它似乎不是關於配置checkstyle。 – 2015-02-24 13:16:48

-2

與intellij,它可以通過在「方法鏈調用」的情況下選擇「align when multiline」來完成,所以我想這個屬性在配置中被錯誤地配置。