簡潔なコード--境界
1287 ワード
コードクリーンな道ノート
[TOC]
きょうかい
すなわち,自分のコードとサードパーティのコードのインタフェースが適合している.
サードパーティコード①でカプセル化インタフェースプロバイダと使用者の違い:インタフェースプロバイダは汎用性を追求し、複数の作業環境で動作してユーザーを引き付けることができる.インタフェース使用者は、自分の特定のニーズを満たすことを追求します.
Mapで使用される方法によって異なります.
コード1のMapは、制限なくMapエンティティを伝達する操作可能な空間を提供しすぎます.コード2はインタフェースを隠し、誤用を避けます.
境界の参照と学習
サードパーティ製コードの理解と学習のためのテストの作成テストは、コードが予想通りに実行できることを保証する 第3のリリースコードが新しいバージョンをリリースするとき、テストを実行することによって、プログラムの動作が予想される に達することを保証することができる.境界テストは、コード移行の圧力を常に軽減する まだ存在しないコード②アダプタモードを使用
開発中に別のモジュールを呼び出すインタフェースが発生する可能性がありますが、モジュールはまだリリースされていません.は未知のコードから最も遠くに開発され,自分がどのようなインタフェースを必要としているかを徐々に理解している. 阻害されないように、自分が使用するインタフェースを定義します.これが未知のコードで使用したいインタフェースです. 他の人のコードが発行されると、自分で定義したインタフェースと相手のインタフェースとの間にアダプタを追加(修正)する必要があります.
きれいな境界
境界上のコードについては,所望のテストを明確に分割し定義する必要がある.は、自分のコードが第三者の特定の情報を過度に理解することを避ける.信頼できない他人のコードに頼るよりも、自分に頼るほうがいい. サードパーティを参照するインタフェースでは、アダプタのモードを使用してもよいし、パッケージ化してもよいので、修正時の変更を減らすことができる.
[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はインタフェースを隠し、誤用を避けます.
境界の参照と学習
サードパーティ製コードの理解と学習のためのテストの作成
開発中に別のモジュールを呼び出すインタフェースが発生する可能性がありますが、モジュールはまだリリースされていません.
きれいな境界
境界上のコードについては,所望のテストを明確に分割し定義する必要がある.