開発者として、厳格なコード仕様が必要です。このため、いくつかのコード仕様ケースを要約しました。
目次
1。序文
2。トライアル範囲
3。Javaの命名仕様 -
3.1官民協定
3.2 Javaファイル、バッグ、バッグ
3.3クラス、インターフェースの命名仕様
3.4メソッドの命名仕様
3.5定数
3.6変数とパラメーター
3.7コンポーネント/コンポーネント
3.8
3.9神秘的な数
3.10その他
3.11 Java例外
3.12アレイネーミング
3.13データベーステーブル命名ルール
3.14データベースフィールドの命名ルール
3.15 JSPファイル名
3.16サーブレット名
4。フォーマット仕様の書き込み
4.1 Endix
4.2スペース
4.3アライメント
4.4空の行
4.5ノート
5。コードファイルスタイル
1.システムソースプログラムの読みやすさを確保し、それによりシステムのシステムメンテナンスを強化し、システムのプログラミングを規制するための次のプログラミング仕様を策定するための序文。システムによって継承された他のリソースのソースプログラムも、この仕様に従って修正する必要があります。
2。このドキュメントの試行範囲は、Hebei Postal Application Systemソフトウェア(Java Language)の開発のためのプログラミング形式として使用されます。システムのコーディング、テスト、メンテナンスプロセス中に、厳密に観察する必要があります。
3。Javaの命名仕様
3.1ソースファイル名、メソッド、ディレクトリ、パッケージ、データベーステーブル名、データベースフィールドなどの命名。ソースファイル名、メソッド、ディレクトリ、パッケージ、データベーステーブル名、データベーステーブル名、データベースフィールドの名前。暗い
システムで使用される命名は、英語の略語で表されます。暗い
命名方法は次のとおりです。プレフィックス+{命名語の略語}、プレフィックスは、データベーステーブルなどのネーミングの使用を表します。暗い
命名プレフィックスは、プロジェクトチームによって決定されます。暗い
システムのパブリックメンテナンスオブジェクトを除く他のオブジェクトでは、すべてネーミングが小文字を使用します。 1つは「_」を接続記号として使用し、もう1つはPrimeという単語の最初の文字を直接接続することです。この仕様では、データベース名とデータベースのフィールド名が最初の方法を採用し、残りは2番目の方法です。暗い
使用すると、変数/フィールド/クラス/インターフェイス/バッグの完全な英語記述子を正確に説明できます。たとえば、FirstName、ListAllusers、またはCorporatecustomerなどの名前を使用して、中国語のPinyinや無関係な単語を使用することは厳密に禁じられていますが、この仕様はパッケージ、クラス、インターフェイスなどの中国語の文字を使用することは許可されていません。 、方法、変数、フィールドなど
小文字の混合を使用して、名前の読みやすさを向上させます。一般に、小文字を使用する必要がありますが、名前とインターフェイス名の最初の文字、および中間単語の最初の文字は大文字でなければなりません。すべてのパッケージ名。暗い
少ない略語を使用するようにしてくださいが、それを使用する必要がある場合、公開の略語や習慣的な略語を使用する場合、実装はinflとして略される可能性があります。虐待の虐待。 cond長い名前を使用しないでください(できれば25文字以下)。
数値の使用は避けてください。ただし、次のようなものなど、forの代わりに4ではなく4を使用できます。
3.2 Javaファイル、バッグ
ファイル名はクラスと同じである必要があり、単語の最初の文字は大文字です。暗い
パッケージ名は通常、プロジェクトまたはモジュールにちなんで命名され、略語と長い名前を使用します。暗い
基本パッケージ:com.czpost、すべてのパッケージとファイルはこのパッケージに属します。
パッケージ名は次のルールで構成されています
クラスは、すべてのアイテムのクラスとインターフェイスをそれぞれのプロジェクトとモジュールパッケージで定義する必要があります。
3.3カテゴリとインターフェースの命名仕様すべての単語のすべての単語。まったく同じ、インターフェイスの意味、関数などになる可能性のある単語を使用します。通常、名詞を使用します。暗い
インターフェイスは、iプレフィックスまたは有能、ible、e、その他の接尾辞をもたらすことができます。
3.4メソッド命名仕様方法ネーミング標準のメソッドの命名は、完全な英語記述子を使用し、小文字の混合使用:すべての中間単語の最初の文字を使用する必要があります。メソッドの方法の最初の単語は、しばしば強いアクション色の動詞を使用します。 値の値は、GETプレフィックス、値クラスはセットプレフィックスを使用し、判断クラスが使用する場合は(HAS)プレフィックスを使用します。 例:getname()setSarry()islogon()メソッドパラメーターシーケンス:(オペレーター、オペレーティングコンテンツ、操作ロゴ、その他) ...}
3.5定数は完全な英語の大文字の単語を使用し、次のような単語と単語の間の線に接続します:default_value
3.6ハンガリーの命名方法を使用するには、変数とパラメーター変数が推奨されます。
プラットフォーム変数(int、short、longを含む):たとえば、nで開始します
Floating -Point変数(Float、Doubleを含む):たとえば、Fで開始します
文字変数:cから始める:char cpageflag
日付変数:例:日付dtoday
文字列変数:sから始める:char spageno [2+1];
グローバル変数:gを使用したデータのタイプ:chsbankno [10+1];
静的変数:静的変数もファイルのグローバル変数であり、命名ルールはグローバル変数と同じです。暗い
システムレベル変数:システムレベル変数もグローバル変数です。
例:char _sbankno [10+1]「g」はありません。
一時的な変数は通常、J、J、K、M、Nと名付けられ、通常は整数に使用されます。
3.7コンポーネント/コンポーネントは、完全な英語記述子の命名コンポーネント(インターフェイスコンポーネント)を採用し、その後、BTNOK、LBLNAMEなどのハンガリーの命名ルールが続きます。 Tボタン変数BTN+XXXXXXX、たとえば:BTNSAVE、BTN EXIT、BTNPRINTなど
3.8配列やベクトルなどのコレクションは、キューに保存されているオブジェクトのタイプを表すために、複数の数値で名前を付けなければなりません。ネーミングは、名前のすべての非表示の単語の最初の文字と、上皮の略語の接頭辞のコレクションを適切に使用する必要があります。など:vector vproduts = new vector();
3.9神秘的な数プログラムは、いくつかの量を使用しており、神秘的な数を定数と定義しています。この定数の命名は、数の重要性を表現する必要があり、それはすべて大文字である必要があります。これは、変数に対応する識別子と区別されることです。たとえば、ナンバー50は、num_of_employesと呼ばれる一定の交換として定義できます。
3.10ダブルは、他の命名が複数の値を表すことを示している場合に使用する必要があります。など:OrderItems。
3.11 Java異常異常カテゴリは、ActionXceptionなどの異常なタイプと例外を表す単語で構成されています。
異常なインスタンスは通常、E、EXなどを複数の異常で使用し、この異常な名前または略語を使用してE、EXなどを追加します。
3.12アレイネーミングアレイは、常に次の方法で名前を付けてください。
3.13データベーステーブルの命名ルールは、プレフィックスと命名単語の間の下の行で区切られています。 dame小文字で構成されています。暗い
ネーミングワードが単語で構成されている場合、それは完全なスペルに使用できます。略語の間に、下線を使用します。 たとえば、库例:「t_ 'から始めるビュー:「v_」から始める例例例例:「T_」から始まり、ライブラリの唯一のインデックス'_idx'の最後のテーブル: 'end
3.14データベースフィールド命名ルール
ネーミングワードが単語で構成されている場合、それは完全なスペルに使用できます。略語の間に、下線を使用します。 dame小文字で構成されています。 prefixはありません。
3.15 JSPファイルネーミングは、鮮やかな動詞、viewmessage.jsp、edituser.jsp、forumchooser.jspなどの最初の文字を含むJSPによって完了した関数を示すために完全な英語説明を使用します。
3.16サーブレットクラスの名前は、一般に、userservice、tradeserviceなどのサフィックスサービスで提供されるオブジェクトに対応しています。
4.執筆形式では、プログラムを読みやすく、統一されたスタイルを明確に理解するために、執筆形式が必要です。ソースプログラムはEclipseツールを開発し、フォーマット仕様がツールで事前に設定することをお勧めします。
4.1 insyおよびIndentationの提案は、4つの空のグリッドに基づいています。事前処理ステートメント、グローバルデータ、タイトル、追加の説明、関数の説明、ラベルなどがすべて書かれています。文ブロックの「{"と「}」は、ステートメントブロックのステートメントが各行に推奨されます。スクリプスのデフォルトの方法は、「{」は独立した行ではなく、上記の形式に変更することをお勧めします。
4.2原則として、変数、クラス、一定のデータ、および原則として空間内の関数はそのタイプにあり、変更された名前は状況に応じて適切に間隔を空けて整列しています。 if(...)など、キーワードの原則で使用できます。オペレーターのスペース要件は次のとおりです。 "::"、 " - >"、 "["、 "" "" "" ++ "、"、 "、"、 ""! "、"+" - 「(正の数を指します)」& "(引用)および計算の両面などの他の演算子は、スペースなしではなく(単一の目のコンピューティングシンボルシステムは操作の接続された側面を参照)、オペレーター(ほとんどの2つの目的のオペレーターとオペレーターとオペレーター、「3つのオペレーター」を含む?:「両側に1つの空のグリッドは、関数が定義されている場合の状況に従って整列できますが、関数が機能したときに使用できます。 「実装されています。」グリッドは、整列する必要があるときに空やマルチスペースではありません。
4.3アラインメントの密接な線は原則的に整列する必要があり、アラインメントには、タイプ、変更、名前、パラメーターなどのすべての部分が含まれます。各ラインの長さは、必要に応じて行を適切に変更し、銀行が変更されたときに「場所または運用シンボル」として変更します最初の行のインデント、つまり、次の行が「{」の場合、最初の行と整列する必要があります。 可変定義は、スペースまたはタブキーを追加することに最適であり、同じタイプの変数が一緒に最適です。次の例に示すように。
4.4 10の連続した空の行など、空の線に不規則な空の線がなければなりません。プログラムファイルの構造の各部分は空です。各機能には、通常は空であるかどうかのみが必要ですが、機能の説明なしでは少なくとも1つの行は空にする必要があります。あなたが書く機能については、「// ------」を追加することをお勧めします。少なくとも1つの行は、関数の内部データとコード内の適切な場所を空中に開いている必要があります。それの。クラスの4つの「P」の間には少なくとも1つの行があり、データと関数も空である必要があります。
4.5ノートノートは、ソフトウェアの読みやすさの特定の実施形態です。プログラムアノテーションは通常、プログラムコーディングの数の20%を占めており、ソフトウェアエンジニアリングの要件は20%以上です。プログラムアノテーションは、抽象言語で「処理」や「サイクル」などの抽象言語で使用できません。手順の各行からのコメントを避けてください。プログラムの前にコメントを追加して、明確な処理ロジックを使用して追加できます。 コメントは不可欠ですが、あまりにも多くのコメントを書くために注釈を書くことはありません。以下は、必要な4つのメモです:タイトルと追加の説明。 function機能、クラスなどの説明通常、関数の実装の前に追加されるほぼすべての関数に適切な説明があります。 、必要に応じて、特別なソフトウェアの要件やハードウェアの要件などの指示が必要です。パブリック機能とパブリッククラスの声明は、もちろん、適切な命名形式を選択することで、物事を明確に説明するのに役立ちます。暗い
不明確または非移植剤に特定の説明がなければなりません。暗い
カスタム変数のコメント、コードライティング時間など、他の少量のメモ。
5。コードファイルスタイルすべてのJava(*。Java)ファイルは、次のスタイルルールに従う必要があります。
ファイル生成の場合、標準化されたJavaデリバティブクラスの場合、Eclipseツールを使用してファイル形式を生成して、手作りのヘッダーファイル/実装ファイルを避けてください。 eパッケージ/インポートパッケージラインは、インポートラインの前である必要があります。インポートの標準パッケージ名はローカルパッケージ名の前であり、文字の順序で配置されています。インポート行に同じパッケージに異なるサブディレクトリが含まれている場合、*で処理する必要があります。
hotlava.net.stats。暗い
ファイルヘッドアノテーションファイルのヘッドアノテーションは、主にファイルの情報を表示します。これは、プログラムの全体的な説明であり、プログラムの読みやすさとメンテナンスを強化できます。ファイルヘッドアノテーションは、通常、パッケージ/インポートステートメントとクラスの説明の背後にあります。少なくともファイル名、作成者、作成時間、コンテンツの説明を書く必要があります。形式はできるだけ制約する必要があります: /***タイトル:マウス位置クラスを決定するOK*説明:ジョブ番号を決定し、ジョブ番号を返す* @Copyright:Copyright(c)2002* @company: hit * @authoror:rivershan * @version:1.0 */クラス次はクラスのコメントです。これは通常、クラスの説明に使用されます。 / ** *パケットとバイトのカウント技術のセットを抑制するクラス * Watchetを許可することは観察可能ですが、現在のセットが完了した場合に変更のみが変更されます */次はクラス定義です。パブリッククラスのカウンターセット拡張可能な拡張可能な機器クローン可能なクラスフィールド
次は、メンバー変数: / ** * Packet Count * / Protected int []パブリック変数はドキュメント(Javadoc)を生成する必要があります。 Procity、Private、およびPackageによって定義されたメンバー変数が明確な場合、コメントはありません。 cassionアクセス方法は、変数にアクセスする方法です。クラスの変数を単に使用して値を取得することだけです。 (個人的には、できるだけ書いてみてください)
/** * @return統計データを含む配列 *は、callrによって変更されます。
public int [] getPackets(){return copyArray(packets、offset);} public int [] getBytes(){return copyarray(bytes、office)] getPackets(){return packets;} public void setPackets(int []パケット) {this.packets = packets;}
他の方法は、コンストラクターのラインに記載されていません。 アクセスタイプ(「パブリック」、「プライベート」など、および「静的」、「最終」、または「同期」は1行である必要があり、メソッドとパラメーターを1つずつ記述できます。これにより、メソッドを作成でき、読みやすいパラメーター。
public counterset(int size){
this.size = size;
}
クローンメソッドをクローン化できる場合、次のステップはクローンメソッドです:public object clone(){)
試す {
Object obj =(counterset)super.clone();
} catch(clonenotsupportedexception e){{
新しいインターネット( "予期しないClonenotsupportexception:" + e.getMessage());
}
}
クラスメソッドはクラスメソッドの書き込みを開始しました。
/ ** *パケットカウントを設定 * galargumentExcetion {
//アレイが等しいサイズであることを確認// if(r1.length!= r2.length || r1.length!= r3. -r1.length!= r4.length)ion( "アレイはニュースサイズ "; System.ArrayCopy(R1、0、R3、0、R1.Length); System.ArrayCopy(R2、0、R4、R4、R1.length); 1つのクラスはToStringメソッドを定義する必要があります。
public string toString {string retvalset: "; ();} return retval;}
主な方法が定義されている場合、クラスの下部に記述する必要があります。