非常に説得力のあるプログラマーとして、これらのJavaコーディング標準を知っておくべきです!!!

Javaコーディング仕様

非常に説得力のあるプログラマーとして、これらのJavaコーディング標準を知っておくべきです!!!

序文

コーディング標準は、プログラミングの世界では「マンダリン」であり、すべてのプログラマにとって非常に重要です。プロジェクトの開発と使用では、ほとんどの時間はメンテナンスに費やされ、ソフトウェアのメンテナンスは通常、元の開発者によって行われません。コーディング仕様により、コードの可読性が向上し、ソフトウェアの開発と保守がより便利になります。これらの仕様は、すべてのプログラマーが従うべき基本的なルールであり、業界の人々が常に黙って従った慣行でもあります。
コーディング標準に従ってコードを記述することは、優れたプログラマーになるための基本的な条件です。以下は、Javaでのいくつかのコーディング標準の概要です(Tencentコーディング標準を参照)。

1.基本仕様

1.クラス名はpublicで変更する必要があります
2. 1行に1つのステートメントのみを記述し
ます3. "{}"で囲まれた部分はプログラム構造の特定のレベルを識別します "{"は通常この構造の開始行の終わりに配置されます "} 「機関の最初の行の最初の文字に合わせて、行を独占してください。
4.プログラムがより明確で読みやすくなるように、下位レベルのステートメントまたはコメントは、上位レベルのステートメントまたはコメントよりもいくつかのスペースでインデントする必要があります。

第二に、Javaファイルの編成

ファイル編成規則:2000行を超えるプログラムは読みにくいため、2000行を超えるプログラムはできるだけ回避する必要があります。Javaソースファイルには、1つのパブリッククラスまたはインターフェイスが含まれています。プライベートクラスとインターフェイスがパブリッククラスに関連付けられている場合、それらをパブリッククラスと同じソースファイルに配置できます。パブリッククラスは、このファイルの最初のクラスまたはインターフェイスである必要があります。

3.ファイル編成の順序:

1.ファイルのコメント:すべてのソースファイルには最初にコメントが必要です。コメントには、ファイルの著作権ステートメント、ファイル名、機能の説明、作成と変更のレコードが一覧表示されます
。2.パッケージとインポートのステートメント:ほとんどのJavaソースファイルでは、最初の非コメント行は、パッケージステートメントです。続いて、リードパッケージステートメントがあり
ます。3.クラスまたはインターフェースアノテーション:クラスおよびインターフェースの説明、最新の修飾子、バージョン番号、参照リンクなどを含む、クラスおよびインターフェースの定義の前にアノテーションを付ける必要があるJavaDocドキュメントアノテーションを使用します。
4.クラスまたはインターフェースの宣言
5.クラスまたはインターフェースの実装に関する注記:クラスまたはインターフェースに関する情報が「クラスまたはインターフェースのドキュメンテーションノート」として適切でない場合は、クラスまたはインターフェースの実装に関する注記に記載できます
。6。 (静的)変数:最初にクラスのパブリック変数、次に保護された変数、次にパッケージレベルの変数(アクセス修飾子なし)、最後にプライベート変数;
7.インスタンス変数:最初にパブリックレベル、次に保護レベル、次にパッケージレベル(アクセス修飾子なし)、最後にプライベートレベル;
8.構築方法;
9.通常の方法:メソッドは、スコープやアクセス権限ではなく、機能別にグループ化する必要がありますグループ化。

注:JavaDocドキュメンテーションノート:Javaクラス、インターフェース、コンストラクター、メソッド、フィールドについて説明します。各ドキュメントのコメントは、コメント区切り文字、クラス、インターフェース、またはメンバーに対応するコメントに配置されます。このコメントはステートメントの前に置く必要があります。ドキュメントコメントの最初の行はインデントする必要はありません。後続のドキュメントコメントは1スペースでインデントされます(アスタリスクを垂直方向に揃えます)。

4、コードスタイル

1.インデント:プログラムブロックはインデントスタイルで記述する必要があります。インデントはスペースバーではなく、TABキーのみを使用します(エディターでTABを4に設定してください)。メソッド本体の開始、クラスの定義、およびfor、do、while、switch、およびcaseステートメントのコードはインデントする必要があります
。2。配置:プログラムブロックの区切り文字、左中括弧 "{"と右中括弧 "}"は別々の行にあり、それぞれに排他的である必要があります1行で同じ列にあり、同時にそれらを参照するステートメントに左揃えで配置されます。配置では、スペースキーではなく、Tabキーのみを使用します。1行に複数の短いステートメントを書き込むことはできません。つまり、1行に1つのステートメントのみを書き込むことはできません。 、While、case、switch、default、およびその他のステートメントが1行に表示されます。
3.ラップ次のように行の長さより長い80個の文字をラップする必要があるよりも、折り返しルールは、次のとおり
切断Aコンマと、
オペレータの前に切断され、
低優先度で演算子を分割するための新しい行に長い発現;
改行インデント2タブ。
4.間隔:クラス、メソッド、および比較的独立したプログラムブロックの間では、変数の説明の後に空白行を追加する必要があります。キーワードの後に​​スペースを残し、if、for、whileなどのキーワードはスペースを残してから左括弧を左に置く必要があります( "、キーワードを強調表示するには;メソッド名とその左括弧"( "キーワードと区別するためにスペースを入れないでください。" = "、" + = ""> = "、" <= "などの二項演算子、「+」、「*」、「%」、「&&」、「||」、「<<」、「^」などはスペースで追加する必要があります。「!」、「〜」、「」などの単項演算子++ "、"-"前後にスペースなし; xiang" []]

5.ノート

1.原則:@Deprecatedは廃止予定のクラスとメソッドに注意する必要があり、代替のクラスまたはメソッドを説明する必要があります。コレクションとスイッチのメソッドの場合は、メソッドのコメントにそれらがマルチスレッドセーフかどうかを示す必要があります。
2。フィールドコメント:JavaDocドキュメントコメントを採用します。クラス(静的)変数とインスタンス変数の定義の前に、パブリックとして定義されたフィールドにコメントを付ける必要があります
。コメントを付け、フィールドの説明を与える必要があります。3.メソッドコメント:採用メソッドの説明、入力、出力、戻り値の説明、例外のスローの説明、参照リンクなどを含む、JavaDocドキュメントのコメントには、メソッド定義の前に注釈を付ける必要があります。

6、命名規則

1.基本ルール:変数、フィールド、クラス、インターフェース、パッケージなどを正確に説明できる完全な英語の記述子を使用します。大文字と小文字を混在させて名前を読みやすくします。フィールドで用語を使用します。略語はできるだけ使用しませんが、公の省略形やカスタムの省略形などを使用する場合は、必ず使用してください。類似した名前や大文字小文字のみが異なる名前は使用しないでください。
2.パッケージの命名:パッケージ名は常に小文字で、省略形が少なく、長い名前が使用されます。以下の規則が適用されます。

                              [基本包].[项目名].[模块名].[子模块名]...

クラスは基本パッケージの直下で定義するべきではなく、プロジェクト内のすべてのクラスとインターフェースは、それぞれのプロジェクトとモジュールパッケージで定義する必要があります。
3.クラスまたはインターフェースの命名:クラスまたはインターフェースの名前は、名詞の大/小文字混合で、各単語の最初の文字が大文字になります。クラス名は簡潔でわかりやすいものにしてください。完全な単語を使用し、略語を避けます(略語がURL、HTMLなどのように広く使用されている場合を除く)。
4.変数名:大文字と小文字が混在しており、最初の単語の最初の文字は小文字、次の単語の最初の文字は大文字です。変数名はアンダースコアやドル記号で始めないでください。一時的な一時変数。一時変数の名前は通常、i、j、k、m、nで、これらは整数型に一般的に使用されます。c、d、e、文字型に一般的に使用されます。ハンガリー語の命名規則を使用しないと、変数は簡単に識別できません。型変数は、型名または型名の省略形を接尾辞として使用する必要があります。コンポーネントまたはコンポーネント変数は、型名または型名の略語を接尾辞として使用します。配列やベクトルなどのコレクション型変数には、複数の数字を付けるか、接尾辞としての名詞。
5.定数の命名:すべての大文字が使用され、単語は下線で区切られます。
6。メソッドの命名:メソッド名は動詞で、大文字と小文字が混在しています。最初の単語の最初の文字は小文字で、次に単語の最初の文字が大文字になります。値クラスはgetプレフィックスを使用でき、値クラスはsetプレフィックスを使用できますクラスの先頭にはis(has)を付けることができます。

7.ステートメント

1.クラスまたはインターフェースの評判:クラスおよびインターフェース定義の構文は次のとおりです
[可視性] [( 'abstract' | 'final')] [クラス|インターフェース] class_name
[( 'extends' | 'implements')] [親クラスまたはインターフェース名] {

//メソッド本体

}

2.メソッドステートメント:優れたプログラミングでは、クラスとクラス間の結合を最小限に抑える必要があります経験則では、メンバー関数の可視性をできるだけ制限します。メンバー関数がパブリックである必要がない場合は、保護されていると定義され、必要でない場合は、プライベートとして定義されています。メソッド定義の構文仕様:

[可視性] ['抽象'] ['静的'] ['最終'] ['同期'] [戻り値のタイプ] method_name(パラメーターリスト)[( 'スロー')] [例外リスト] {

//メソッド本体

}

宣言順:構築メソッド、静的パブリックメソッド、静的プライベートメソッド、パブリックメソッド、フレンドメソッド、保護メソッド、プライベートメソッド、メインメソッド、メソッドパラメーターの推奨順序:(操作中、操作内容、操作フラグ、その他)。

3.変数宣言:1行に1つのステートメント;ローカル変数の同時初期化(変数の初期値が以前の計算に依存する特殊なケースでは、同時に初期化されない場合があります);コードブロックの先頭でのみ変数を宣言します。ブロックは、中括弧「{」および「}」で囲まれたコードを参照します。変数が初めて使用されるときは宣言しないでください。ローカル変数を宣言して、前のレベルで宣言された変数を上書きしないでください。つまり、内部コードではありません同じ変数名がブロックで宣言されています。パブリックおよび保護された可視性は可能な限り回避する必要があります。すべてのフィールドはプライベートで、getおよびsetメンバー関数(Getter、Setter)によってアクセスすることをお勧めします。変数または定数を定義するときは含めないでください2つのパッケージが同じクラス名を持たない限り、パッケージ名(java.security.MessageDigest digest = nullと同様)。配列が宣言されている場合、フィールド名の代わりに「[]」の後にタイプが続く必要があります。宣言の順序:定数、クラス変数、インスタンス変数、パブリックフィールド、プロテクトフィールド、フレンドフィールド、プライベートフィールド。

8、異常

1.例外をキャッチする目的は、例外を処理すること
です2.複数の例外を個別にキャッチして処理する必要があります。単一のキャッチを使用して処理することは避けてください。

9.習慣

  1. if、for、do、whileなどの実行ステートメントのどの部分がかっこ「{}」か
  2. (breakステートメントがないため)ケースが実行されるたびに、通常、breakステートメントの位置にコメントを追加する必要があります。
  3. ループ内のオブジェクトの作成と解放を回避するようにしてください
  4. ローカル変数を使用するプロセスでは、近接の原則に従って処理します。ローカル変数を定義することは許可されておらず、遠くでのみ使用されています;
    5.同じ関数をコードのN個のコピーにコピーすることは許可されていません。
  5. 文字列を処理するときは、StringBufferクラスを使用してみてください

更新を続けるので、お楽しみに!

元の記事を12件公開しました 賞賛されました0 訪問数131

おすすめ

転載: blog.csdn.net/Godyanqi/article/details/105630325