私たちのプロジェクトは、流暢なスタイルを連鎖する方法では、多くのステートメントが含まれていますメソッドチェーンのチェックスタイルを設定しますか?
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から実行できる代替ツールはありますか?
質問に現在のチェックスタイル設定を追加することをお勧めします。 – Piotr
また、私はそれを2番目の方法でフォーマットするのがかなり妥当であると感じます。私は最初のバージョンを読むのが非常に難しいと感じます。 –
@Martin第2の方法は、問題のオブジェクトが常に同じである間に新しい返されたオブジェクトに対して何かを行うように思われるため、メッセージの連鎖には望ましくありません。連鎖した5つのメソッドを想像してみてください。新しいメソッドの前に空白がたくさんあります。 最初のバージョンでは、それぞれの新しいメソッドが同じレベルで開始することを明確にしています。必要な構成に対して+1。 –