良いプログラマは、あなたのJavaプログラミングのバグを回避するための権利を教えます

スキルは、I:初期化を拒否します

  Javaでは、開発者は多くの場合、オブジェクトを初期化するためにコンストラクタによって行わ。実際には、我々は他の手段によって、コンストラクタを呼び出すことなく、オブジェクト割り当てを達成することができます。

(1)私たちは、すべての変数は、プライベートと宣言することができます。クラスの外のオブジェクトにアクセスするには、GETおよびSETメソッドを使用することができます。

(2)各オブジェクトのために、新しいプライベートブール変数を作成し、それを初期化します。

(3)各オブジェクトがコールを受け入れる前に初期化されることを保証するクラスの非コンストラクタの調製。

スキルII:保護クラス、メソッドと変数

  クラス間のコードでは、メソッドと変数は、パブリックとプライベートのカテゴリに分類されます。プライベートクラスは、パブリックメソッドと変数は、簡単にアクセスできるアプローチが容易であり、したがって、多くの場合、***突破口になることはできません。そのため、可能な限りその範囲を限定してください。

スキルIII:常に所定の範囲に

  そのパッケージに完全に依存してほとんどの開発者は、実際に、私たちはコードの定義済み範囲を遵守する必要があり、設定範囲。多くのクラス自体は、*** ***課すことが可能であることを意味し、完全に閉じられていません。***この脆弱性は、独自の単一クラスに挿入され、次いでコードから機密情報を抽出することができます。デフォルトで閉じられていないが、我々は、パッケージに封入されたクラスに許されたJVM。

四スキル:内部クラスを使用しないでください

  一般的には、開発者が必要な他のクラスでも同じパッケージ内の内部クラスを使用します。これらの内部クラスは、通常の訪問のために同じパッケージ内のすべてのクラスにご利用いただけます。

原則V:クラスがクローニングされていないことを確認してください

必要なときにJavaは、独自のクラスのクローニングのための機能を提供します。ただし、この機能は、多くの場合、***で使用され、サンプルコードからコードをコピーして、必要な情報を盗みます。

  この問題を解決するために、我々は次のコードを追加し、コード内の各クラスが必要です。


  あなたのクラスは、クローンがありたい場合はまだセキュリティ上の問題を回避しながら、可能な限り、あなたは自分自身のクローニング手段を定義し、最終的として設定することができます。


おすすめ

転載: blog.51cto.com/14249543/2403283