7

私たちのプロジェクトには、流暢なスタイルのメソッドチェーンで多くのステートメントが含まれています。

    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 から実行できる代替ツールはありますか?

4

2 に答える 2

-2

私はこれを Eclipse で機能させたことがないので、Format Source はほとんど使用しません。最終的には、拡張することが最善であることがよくあります。私たちは懸命に努力し、失敗しました。1年半前のことです。最後に、行を選択するか、手動でフォーマットする前に事前フォーマットすることにより、Eclipse でのみテキストのフォーマットを使用します。

通常、エンジニアが行うフォーマッティングには何らかの意味があります。そのため、自動フォーマットは機能しません。特に次のようなことをする場合

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

これを自動フォーマットすると、例のように失敗します。

したがって、人間の方法でフォーマットする前のステップとして、自動フォーマットを使用しないクラブに気軽に参加してください。

于 2015-02-23T20:54:06.470 に答える