簡潔なコード--境界

1287 ワード

コードクリーンな道ノート
[TOC]
きょうかい
すなわち,自分のコードとサードパーティのコードのインタフェースが適合している.
サードパーティコード①でカプセル化
  • インタフェースプロバイダと使用者の違い:インタフェースプロバイダは汎用性を追求し、複数の作業環境で動作してユーザーを引き付けることができる.インタフェース使用者は、自分の特定のニーズを満たすことを追求します.

  • Mapで使用される方法によって異なります.
     :
    Map sensor = new HashMap();
    Sensor s = sensor.get(sensorId);
    
     :
    public class Sensors {
        private Map sensors = new HashMap();
    
        public Sensor getById(String id) {
            return (Sensor)sensors.get(id);
        }
    }
    

    コード1のMapは、制限なくMapエンティティを伝達する操作可能な空間を提供しすぎます.コード2はインタフェースを隠し、誤用を避けます.
    境界の参照と学習
    サードパーティ製コードの理解と学習のためのテストの作成
  • テストは、コードが予想通りに実行できることを保証する
  • 第3のリリースコードが新しいバージョンをリリースするとき、テストを実行することによって、プログラムの動作が予想される
  • に達することを保証することができる.
  • 境界テストは、コード移行の圧力を常に軽減する
  • まだ存在しないコード②アダプタモードを使用
    開発中に別のモジュールを呼び出すインタフェースが発生する可能性がありますが、モジュールはまだリリースされていません.
  • は未知のコードから最も遠くに開発され,自分がどのようなインタフェースを必要としているかを徐々に理解している.
  • 阻害されないように、自分が使用するインタフェースを定義します.これが未知のコードで使用したいインタフェースです.
  • 他の人のコードが発行されると、自分で定義したインタフェースと相手のインタフェースとの間にアダプタを追加(修正)する必要があります.

  • きれいな境界
    境界上のコードについては,所望のテストを明確に分割し定義する必要がある.
  • は、自分のコードが第三者の特定の情報を過度に理解することを避ける.信頼できない他人のコードに頼るよりも、自分に頼るほうがいい.
  • サードパーティを参照するインタフェースでは、アダプタのモードを使用してもよいし、パッケージ化してもよいので、修正時の変更を減らすことができる.