Netbeans Javaコードスタイル概説 その04

対象IDE:Netbeans 7.3.1

目次

  • その01
    • 序文
  • その02
    • タブとインデント
    • 位置揃え
    • 中括弧
  • その03
    • 折り返し
    • 空行
    • スペース
  • その04
    • コメント
    • インポート
    • コード生成

コメント (Comments)

comment

・コメントの書式設定を有効にする (Enable Comments Formatting)

コメント部が再フォーマット処理の対象になるか指定する。
オンにすると、再フォーマット処理によりコメント文中の連続するHTMLスペースが一つにまとめられる。
※ オフにしても自動生成されるコード内のコメント部の清書は行われる。オフにすると後続チェックボックス操作ができなくなるUIはもしかして不適切かも。
デフォルトでは「オン」。

  • ブロック・コメントの書式設定 (Format Block Comments)
    開始「/*」と終了「*/」が同じ行にあるコメントを再フォーマット処理の対象とする。
    /*」「*/」の内側にスペースがなければ入れる。ただし先頭が「/**」なら二番目の*の後に入れる。
    連続するHTMLスペースは一つにまとめられる。
    「//」で始まるコメントは対象外。
    デフォルトでは「オフ」。

※ 行数にかかわらず「/*」で始まるコメントは全て「ブロックコメント」なのでは?

・一般 (General)

  • 先頭に星を追加 (Add Leading Star)
    複数行にわたるコメントで各行先頭にインデントされた「*」を配置する。
    文はスペースを一つ挟んでから始まる。
    デフォルトではオン。
  • 右マージンでテキストを折り返す (Wrap Text At Right Margin)
    コメント文内の単語の切れ目(各種HTMLスペース?)に改行を入れることで、右マージン指定桁数内にコメント行を納めようとする。
    デフォルトではオン。
  • 1行のコメントを折り返す (Wrap One Line Comments)
    /*…*/」による1行コメントを「/*」、コメント本文、「*/」の3行に展開する。
    1行コメントと同じ行にあるステートメントは引きずられる。
    //」によるコメントは対象外。
    デフォルトではオン。
  • 改行を保持する (Preserve new Lines)
    コメント文内の既存の改行を単語間スペースに変えることで、より多くの文字を1行に詰め込もうとする機能を抑止する。
    ※ 折り返し機能オフの時は無効かも?
    デフォルトではオフ。

・Javadoc

Javadoc用ドキュメント記述部の自動生成処理を操作する。

  • 説明の後に空行を追加する (Add Blank Line After Description)
    コメント本文と各種@タグセクションの間に空行を入れる。
    @タグ群がなければ何もしない。
    デフォルトではオン。
  • パラメータの説明の後に空行を追加する (Add Blank Line After Parameter Descriptions)
    @paramセクションの後に空行を入れる。
    デフォルトではオフ。
  • 改行タグの後に空行を追加する (Add Blank Line After Return Tag)
    @return部の後に空行を入れる。
    ※ 「改行」訳は「戻り値」の間違いでは?
    デフォルトではオフ。
  • 空行に”<p/>”を生成する (Generate “<p/>” On Blank Lines)
    空行の代わりに<p/>を使う。<p>ではない。
    連続する複数の空行には複数の<p/>が入る。
    デフォルトではオフ。
  • パラメータの説明を位置揃え (Align Parameter Descriptions)
    個々の@param説明文の頭と後続行を揃える。
    デフォルトではオフ。
  • 戻り値の説明を位置揃え (Align Return Value Descriptions)
    複数行にまたがる@return説明文の頭を揃える。
    デフォルトではオフ。
  • 例外の説明を位置揃え (Align Exception Descriptions)
    個々の@throws説明文の頭と後続行を揃える。
    デフォルトではオフ。

インポート (Imports)

import

自動生成されるimport文に関する各種設定。
メニュー「ソース」内の「インポートを修正」や「インポートの編成」の結果に影響する。

※ 「スター・インポート」とは、「.*;」で終わるオンデマンドのimport文の事

  • 単一クラスのインポートの使用 (Use Single Class Imports)
    import文に「*」無しの正準名を書くことでソース内の各名前を解決させる。
  • パッケージのインポートの使用 (Use Package Imports)
    import文に「*」付きパッケージ名もしくは型名を書くことで、ソース内の各名前をオンデマンドに解決させる。
  • 完全限定名の使用 (Use Fully Qualified Names)
    import文を使わずにソース内の各名前を完全限定名(FQN)で解決させる。
    ソース内で定義されるクラスも完全限定名で表現される。

デフォルトでは「単一クラスのインポートの使用」が選択される。

「単一クラスのインポートの使用」が選択された場合、さらに下記の細かな指定が可能。

  • 内部クラスをインポート (Import Inner Classes)
    java.util.Map.Entry」のような、トップレベルでない型名をimport文に記述しようとする。
    この例の場合、ソースコード中には囲みクラス「Map」を省略して「Entry」と書くことが出来る。
    内部クラスのみならず、staticメンバ型も対象となる。
    デフォルトはオフ。
  • スター・インポートを使用するクラス数 (Class Count To Use Star Import)
    同じパッケージに属するクラスが記述されたimport文の数が閾値を超えたら、「*」付きスター・インポートを使い一つのimport文にまとめる。
    デフォルトはオフだがあらかじめ閾値5クラスの設定になっている。
  • 静的スター・インポートを使用するメンバー数 (Members Count To Use Static Star Import)
    同じクラスに属するメンバが記述された静的import文の数が閾値を超えたら、「*」付き静的スター・インポートを使い一つのimport文にまとめる。
    デフォルトはオフだがあらかじめ閾値3メンバの設定になっている。
  • スター・インポートを使用するパッケージ (Packages To Use Star Import)
    無条件にスターインポートを使うパッケージ名をリストで指定する。
    *欄にチェックが付くと、再帰的な下位サブパッケージも指定対象となる。

・レイアウトをインポート (Import Layout)

import文の出現順に関する各種設定。基本は辞書順。
(※ ここでimportを動詞(…をインポート)として訳すのはたぶん不適切。)

  • 静的インポートを分割 (Separate Static Imports)
    静的import文とそうでないimport文を別グループに分ける。順序並びは、それぞれのグループの中での辞書順となる。
    オンにした場合のみ、リストボックスでグループ間の出現順の設定が可能。チェックボックスは静的(static)か否かの区別。
    任意のパッケージ名を独立したグループとして追加することも可能。
    デフォルトではオフ。
  • グループを分割 (Separate Groups)
    上記指定で分割したインポートグループ間に空行を入れるか指定する。
    デフォルトではオン。

※ 「静的import文 (static import文)」はJDK5からの新言語仕様。JUnitでテストコードを書くときなどには欠かせないほど便利。


コード生成 (Code Generation)

cgen1

クラス内の各メンバの出現順を指定する。

メニュー「ソース」→「メンバの編成」実行時に反映される。

・メンバーのソートの順序 (Members Sort Order)

各メンバの属するカテゴリを用いてソート順を指定する。各メンバはカテゴリ毎にまとめられる。

デフォルトのカテゴリ順は以下の通り。

  • 静的フィールド (Static Fields)
    ※ クラス変数のこと
  • 静的初期化子 (Static Initializers)
  • 静的メソッド (Static Methods)
    ※ クラス・メソッドのこと
  • フィールド (Fields)
    ※ インスタンス変数のこと
  • インスタンス初期化子 (Instance Initializers)
  • コンストラクタ (Constructors)
  • メソッド (Methods)
    ※ インスタンス・メソッドのこと
  • 静的クラス (Static Classes)
    ※ staticメンバ型のこと
  • クラス (Classes)
    ※ 内部クラスのこと

・メンバーを可視性でソート (Sort Members By Visibility)

各カテゴリ内でのメンバ順にアクセス可能性修飾子を反映させる。
デフォルトはオフ。

デフォルトのソート順は以下の通り。リスト操作でソート順を変更させることも可能。

  • public
  • private
  • protected
  • デフォルト

・挿入ポイント (Insertion Point)

メニュー「ソース」→「コードを挿入」などで挿入されるフィールドやメソッドを、ソース内のどこに挿入するか指定する。

デフォルトは「キャレットの場所」。

  • カテゴリの最後 (Last In Category)
    挿入コードが属すべきカテゴリの一番後に挿入する。
  • カテゴリの最初 (First In Category)
    挿入コードが属すべきカテゴリの一番前に挿入する。
  • キャレットの場所 (Caret Location)
    カーソル以降でカーソル位置に一番近い場所に挿入する。各種ソート指定は無視される。
広告

タグ: ,