Uploaded image for project: 'Ymir'
  1. Ymir
  2. YMIR-316

自動生成されるクラスの見栄えを良く

    Details

    • Type: Improvement
    • Status: In Progress
    • Priority: Minor
    • Resolution: Unresolved
    • Affects Version/s: 1.0.1
    • Fix Version/s: None
    • Component/s: ymir-extension
    • Labels:
      None

      Description

      【概要】
      自動生成されるクラスとは、PageやDTOやConverterのBaseクラスである。
      スーパークラスを手動で修正することは少ないにしても、開発者がパッとこれらの
      クラスの中身を見ることはそれなりに多いと思われるため、見栄えをもっと良くした方が良いと思われる。

      【ポイント】
      A. クラスのJavaDocコメントにプロパティとメソッド一覧

      そのクラスの自動生成要素を一望できるようなクラスコメントがあると、
      開発者はとりあえずそれを見れば何があるかパッとわかりやすい。
      (Converterであれば、Convert対象のプロパティ)

      B. パッケージ名をインポート文へ

      例えば「com.example.dbflute.ymir.dto.member.search.ConditionFormDto」
      というようなフルネームをインポート文を使うことによって、
      「ConditionFormDto」を表現できれば見た目がすっきりしてみやすい。
      また、自動生成されるソースのサイズの削減にもつながる。

      但し、これは自動生成ツールの永遠の課題でもあり、実現は結構困難である。
      中途半端にやると、状況次第でインポート文が足りないとか、クラス名が
      曖昧で解決できないとかが発生してしまう。出来る限りの範囲でできればと。

      C. 定義の順番

      現状、インスタンス変数・Getter/Setter・アクションメソッドとあるが、
      アクションメソッド(の戻り値)を修正したり見たりすることが結構あるので、
      インスタンス変数・アクションメソッド・Getter/Setterの順番の方がいいかなと思われる。
      但し現状がYmirでのポリシーであるならばこれはそのままでも構わない。

      D. 領域の区切り

      インスタンス変数・Getter/Setter・アクションメソッドの区切りがあるとみやすい。
      現状既に、インスタンス変数とGetter/Setterの間は改行が二つ挟んであるが、
      Getter/Setterとアクションメソッドの間には改行が一つしか無い。

      また、空行をあけるアプローチも良いが、明示的なコメント入れるアプローチもある。
      https://www.seasar.org/svn/sandbox/dbflute/trunk/dbflute-ymir-example/src/main/java/com/example/dbflute/ymir/web/member/search/ListPageBase.java

        Attachments

          Activity

            People

            • Assignee:
              skirnir skirnir
              Reporter:
              jflute jflute
            • Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

              • Created:
                Updated: