Javaプログラミングの仕様、コードの受け入れ基準

はじめに:

この標準は、欠陥コード自体の尺度であり、R&D担当者自身の価値の尺度です。

陸軍規制ワン:プログラム内のマジックナンバーを使用しないでください、それは意味のある定数で識別されなければなりません。]

二軍の規制:関数[clearメソッド、一つだけの機能を達成するための方法。]

陸軍規制3:メソッドのパラメータが5つ以上のことはできません]

陸軍規制IV: [メソッド呼び出しが例外をスロー、または例外オブジェクト(SPECIAL CASEオブジェクト、SPECIAL CASEパターンを返す代わりに、ヌルが返さないようにしてみてください )、 メソッドの戻り値として、コレクションまたは配列型にするために、または空のセットと交換配列の長さ0。]

陸軍規制V: [操作やIO中にデータベース、我々はリソースが使用後に解放されていることを確認する必要があり、およびリリース操作がで最終的に行われていることを確認する必要があります。]

陸軍規制VI: [例外をキャッチし、直接(例外EX)をキャッチしない、例外細分化プロセスである必要があります。]

陸軍規則7: [条件付きのこのタイプを(フォローアップが...もし他に複数持っている場合があります)、「あればそうでない」場合には、行方不明に起因するエラーを回避するために、枝を最後のelseの分岐が含まれている必要があり、各スイッチケースの文必要がありますエラーが発生し、不足している枝を避けるために、デフォルトがあることを確認してください。]

陸軍規制八: [オーバーライドオブジェクトは、hashCode()メソッド()メソッドをオーバーライドする必要があります等しいです。]

陸軍規則9:スレッドプールを使用しようと、新しいスレッド[禁止サイクルを作成します。]

十の軍事規制: [浮動小数点計算が不正確である、またはBigDecimalの浮動小数点整数演算を変換する必要があり、フロート及び二重の使用を避ける正確な計算(例えば:通貨)を行う場合。]

陸軍規制の説明:

陸軍規制ワン:プログラム内のマジックナンバーを使用しないでください、それは意味のある定数で識別されなければなりません。]

説明:悪魔の図は、グローバル読みやすく、交換が容易の原則に基づいているかどうか。0,1列挙定数は、専門知識のある特定の物理領域の値として定義する必要があり、同様のNUMBER_ZEROの「悪魔の定数は」固く禁じられています。

二軍の規制:[クリア機能方法、唯一の機能を達成するための方法。]

説明:メソッド関数は、あまりにも、プロセスおよび依存関係の複雑さを増すだろうが、関係なく、メソッドやクラスの設計のは、単一責任の原則と一致している必要があり、読み取りプログラムおよび将来の継続的なメンテナンスを助長されていません。

陸軍規制3:メソッドのパラメータが5つ以上のことはできません]

説明:読み取りと引数を軽減するために、使用するコードに影響を与えるパラメーターが多すぎますが、我々は最初の方法を維持することは、シングル、最適化された設計方法を特徴とする引数が減少しない場合、パラメータの数は(クラスにオブジェクトをカプセル化することができ、これらのパラメータの妥当性を検討する必要があります)、考慮にOOPに沿って、より多くであるために、新しいクラス(オブジェクト)の対応する増加の行動を取ります。

陸軍規制IV:[メソッド呼び出しが例外をスロー、または例外オブジェクト(SPECIAL CASEオブジェクト、SPECIAL CASEパターン)を返す代わりに、ヌルを返すことがないようにしよう、メソッドの戻り値として、コレクションまたは配列型にするために、または空のセットと交換配列の長さ0。]

説明:戻り値がnull、nullポインタが不要の判断を追加し、判決は重大な不作為のNullPointerExceptionエラーにつながります。

陸軍規制V:[操作やIO中にデータベース、我々はリソースが使用後に解放されていることを確認する必要があり、およびリリース操作がで最終的に行われていることを確認する必要があります。]

説明:データベース操作、IO操作が-catch、最終的にはしようとする必要があります()最終的には近い内に複数のIOオブジェクトがあるクローズする必要がある場合は、のtry-catchは、各オブジェクトのclose()メソッドのために必要とされたオブジェクトをクローズする必要がありますIOオブジェクトが閉じられていない他のIOオブジェクトの故障を防止するために閉じられます。以下のように練習を推奨:

Connection jdbcConnection = null;
       Statement stmt = null;
       try
       {
            ........
       }
       catch(SQLException e)
       {
            ........
       }
       finally
       {
           if(stmt != null)
           {
                try
                {
                    stmt.close();
                }
                catch(SQLException e)
                {
                    logger.log(Level.WARNING,"异常说明", e);
                }
           }
           if(jdbcConnection != null)
           {
                try
                {
                    jdbcConnection.close();
                }
                catch(SQLException e)
                {
                    logger.log(Level.WARNING,"异常说明", e);
               }
           }
       }

陸軍規制VI:[例外をキャッチし、直接(例外EX)をキャッチしない、例外細分化プロセスである必要があります。]

説明:キャッチ(例外EX)のRuntimeException例外のRuntimeExceptionは、ランタイム例外であり、キャッチもたらすは、プログラム自体が不良とみなされ、スローされた例外は、バグプログラム、など無効なパラメータ、アレイの境界、ゼロによる除算など、プログラムが必要です必ず、のRuntimeExceptionの例外をスローしない異常のRuntimeExceptionのキャプチャを表示するために許可されていないことはテスト手順を容易にするために見つけるのは簡単です。

陸軍規則7:[条件付きのこのタイプを(フォローアップは...複数のelseifを有していてもよい)、「あればそうでない」場合には、行方不明に起因するエラーを回避するために、枝を最後のelseの分岐が含まれている必要があり、各スイッチ-case文を保証しなければなりませんエラーが発生し、枝を見逃さないために、デフォルトがあります。]

陸軍規制八:[オーバーライドオブジェクトは、hashCode()メソッド()メソッドをオーバーライドする必要があります等しいです。]

説明:良いhashCodeメソッドが大幅ハッシュコンテナの効率を向上させることができながら、右、ハッシュコンテナ正確にオブジェクトを見つけることを保証するために、これら2つのメソッドをオーバーライドし、等しく、hashCodeメソッドは、ハッシュコンテナにおけるオブジェクトの効率的な動作のための基礎です。

陸軍規則9:スレッドプールを使用しようと、新しいスレッド[禁止サイクルを作成します。]

十の軍事規制:[浮動小数点計算が不正確である、またはBigDecimalの浮動小数点整数演算を変換する必要があり、フロート及び二重の使用を避ける正確な計算(例えば:通貨)を行う場合。]

説明:浮動小数点演算範囲の広い範囲で良好な近似を提供するが、それは正確な結果を得ることができません。0.1-- 10は、有限長のバイナリ分数の正確な表現である任意の他の二次的または負のパワーに不可能であるので、二進浮動小数点精度について計算は適していません。

おすすめ

転載: blog.csdn.net/bj_chengrong/article/details/83614668