2013-02-18 16 views
5

私たちのプロジェクトは、流暢なスタイルを連鎖する方法では、多くのステートメントが含まれていますメソッドチェーンのチェックスタイルを設定しますか?

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

質問に現在のチェックスタイル設定を追加することをお勧めします。 – Piotr

+0

また、私はそれを2番目の方法でフォーマットするのがかなり妥当であると感じます。私は最初のバージョンを読むのが非常に難しいと感じます。 –

+0

@Martin第2の方法は、問題のオブジェクトが常に同じである間に新しい返されたオブジェクトに対して何かを行うように思われるため、メッセージの連鎖には望ましくありません。連鎖した5つのメソッドを想像してみてください。新しいメソッドの前に空白がたくさんあります。 最初のバージョンでは、それぞれの新しいメソッドが同じレベルで開始することを明確にしています。必要な構成に対して+1。 –

答えて

-1

Eclipseでこの作業をしたことがないので、フォーマットソースをほとんど使用していません。結局、延長することが最善の方法です。私たちは頑張って失敗しました。 1年半前です。最後に、Eclipseで書式設定テキストを使用するのは、行を選択するか、あらかじめ手動でフォーマットする前にフォーマットすることです。

通常、エンジニアによって行われる定型化は、特定の意味を持ちます。したがって、自動フォーマットは決して機能しません。あなたは

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

ような何かをする場合は特に、あなたは、このオートフォーマット、それはあなたの例のように失敗した場合。

人の手で書式を設定する前に、ステップの横に自動書式設定を使用しないというクラブに参加することをお勧めします。

+0

これはEclipseに決まっていない行を結合しないと正常に動作します。私は方法連鎖のためのものを認識していない。 –

+0

これは興味深い投稿ですが、checkstyleを設定することではないようです。 –

-2

intellijを使用すると、「メソッド連鎖呼び出し」の場合は「複数行の時に整列」を選択することで行うことができます。このプロパティーは構成で誤って構成されていると思います。

関連する問題