命名規則について
- Javaオブジェクト指向プログラミングの特性により、ネーミング時には名詞を選択するようにしてください。
- キャメルケース:変数名または関数名が1つ以上の単語が結合された一意の識別単語である場合、最初の文字は小文字で始まり、各単語の最初の文字が大文字になります(最初単語を除く)。
- 例:myFirstName
パッケージ名表記仕様(パッケージ)
-
意味のある名前を選択すると、このカテゴリの目的をすばやく伝えることができます。
-
すべてのパッケージは、小文字の英語で名前を付ける必要があります。
- 例:net.vschool
-
レイヤリングはアプリケーションシステムでよく適用されます。
- Daoレイヤー(データベースアクセス)
- サービス層(ビジネス処理)
- Webレイヤー(ページコントロールアクションクラス)。
-
パッケージ名の最初のいくつかは固定名です。それがWebサイトの場合は、Webサイトのドメイン名の逆の名前を使用してください。ドメイン名が決定されていない場合は、会社の固定名を使用してください。
- 例:net.vschool
-
パッケージ名の次の単語はモジュールの名前です。例:ユーザーモジュール、パッケージ名はnet.vschool.user、モジュールのアクセス操作は階層形式であり、通常は次のように分けられます。
- Daoレイヤー操作:通常、net.vschool.xxx.daoで定義されます。xxxはモジュール名です。
- サービスレイヤーの操作:一般にnet.vschool.xxx.servieで定義されます。
- Webレイヤーの操作:通常、net.vschool.xxx.actionで定義されます。
- ユーザーモジュールの例を次に示します。
- net.vschool.user
- net.vschool.user.dao
- net.vschool.user.action
- net.vschool.user.service
クラス名記述仕様(クラス)
- 意味のある名前を選択すると、このカテゴリの目的をすばやく伝えることができます。
- Javaのキャメルケースの命名法によると、クラス名の最初の文字は大文字にする必要があります。クラス名が複数の単語で構成される場合は、各単語の最初の文字を大文字にする必要があります。
- 例:StudentAnswer.java
- インターフェイスクラスと実装クラスを区別したい場合は、クラスの後に「Impl」を追加できます。
- 例:インターフェースクラス:UserInterface.javaインターフェース実装クラス:UserInterfaceImp
- エンティティークラスにはサフィックスがないことをお勧めします。
変数の命名
-
意味のある名前を選択すると、変数の目的をすばやく伝えることができます。
-
Javaのキャメルケースの命名法を参照すると、最初の文字は小文字で始まり、各単語の最初の文字は大文字になります(最初の単語を除く)。
-
変数の命名の基本的な構造は次のとおりです。typeVariableName。3文字のプレフィックスを使用してデータ型を示します。
-
たとえば、整数変数intDocCountを定義します。ここで、intはデータタイプを示し、その後に表意の英語名が続き、各単語の最初の文字は大文字になります。
-
データ型またはオブジェクト型 可変接頭辞 備考 バイト さようなら 1.配列を行う場合、文字列配列のように接頭辞-aを追加します:astr、 チャー chr 2.カスタムタイプの変数は、最初の文字を小文字に変更して独自の名前を使用できます。 浮く flt 3.名前は、メソッドの意味を表すことができる必要があります。従業員リストの場合:employeeList ブール bln 整数/整数 int ' ショート あります 長い/長い LNG ダブル/ダブル dbl ストリング str
使用のヒント
- 関数内で同じ変数を使用して、前後で異なる意味を持つ2つの値を表現しないでください。
- ループ内でない限り、変数名として1文字を使用することはお勧めできません。i、j、kなどは、小さなループのループインデックス変数としてのみ使用されます。
- Flagを使用して状態変数に名前を付けることは避けてください。
- Isを使用して、blnFileIsFoundなどの論理変数に名前を付けます。ブール変数にこのように名前を付ける方法により、他の開発者はブール変数の意味をより明確に理解できます。
- 変数名を短縮する必要がある場合は、コード全体の略語規則の一貫性に注意する必要があります。たとえば、コードの一部の領域でintCntを使用し、他の領域でintCountを使用すると、コードが不必要に複雑になります。変数名に略語を使用しないことをお勧めします。
静的変数
- 意味のある名前を選択すると、変数の目的をすばやく伝えることができます。
- Javaのキャメルケースの命名法を参照し、すべて大文字で記述し、「_」を使用して、マルチワード合成を使用する変数のワードを接続します。
- 例:USER_LIST
メソッドの命名
- メソッドはアクションを表し、アクションを表します。動詞または動詞句、または最初の単語が動詞です。
- 属性メソッド:get / setで始まり、その後にフィールド名が続き、フィールド名の最初の文字を大文字にします。
- 例:getUserName()
- データレイヤーメソッド:誤解を招かないように、挿入(挿入)、削除(削除)、更新(更新)、選択(検索)、カウント(統計)、その他のレイヤーメソッドから始めて、この5ワードで開始しないようにすることができます。
- サービスレイヤーメソッドは、メソッドの動作に従って名前が付けられ、メソッドの目的ではなく、メソッドの意味のみを説明します。たとえば、システムに新しいユーザーを追加する場合、ユーザーはフォアグラウンドで登録するか、管理者のバックグラウンドで追加できます。メソッドは再利用されるため、登録を使用しないことをお勧めします。addを使用して書き込む方が適切です。Webレイヤーに関連するメソッドの使用は避けてください。
- Webレイヤーの方法は、登録、ログイン、ログアウト、その他の方法など、Webの言語に近いことが最適です。
Javadoc
ラベル | 説明文 | 例 |
---|---|---|
@著者 | クラスの著者を特定する | @author wey |
@deprecatede | 期限切れのクラスまたはメンバーを指定する | @deprecatede説明 |
{@docRoot} | 現在のドキュメントディレクトリのパスを指定します | ディレクトリパス |
@例外 | クラスによってスローされた例外にフラグを立てる | @exception例外名の説明 |
@inheritDoc | 親クラスから直接継承されたコメント | 直接のスーパークラスからコメントを継承します。 |
{@リンク} | 別のトピックへのリンクを挿入する | {@link name text} |
{@linkplain} | 別のトピックへのリンクを挿入しますが、リンクにはプレーンテキストフォントが表示されます | 別のトピックへのインラインリンクを挿入します。 |
@param | メソッドのパラメーターを説明する | @paramパラメータ名の説明 |
@return | 説明戻り値のタイプ | @返品説明 |
@見る | 別のトピックへのリンクを指定する | @アンカーを参照 |
@シリアル | シリアル化された属性の説明 | @シリアルの説明 |
@serialData | writeObject()およびwriteExternal()メソッドによって書き込まれたデータについて説明する | @serialDataの説明 |
@serialField | ObjectStreamFieldコンポーネントについて説明する | @serialField名前タイプの説明 |
@since | 特定の変更を導入するときにマーク | @以降のリリース |
@throws | @exceptionタグと同じです。 | @throwsタグは@exceptionタグと同じ意味です。 |
{@値} | 静的属性である定数の値を表示します。 | 定数の値を表示します。これは静的フィールドでなければなりません。 |
@バージョン | クラスのバージョンを指定する | @バージョン情報 |