第1部第4章プライバシー

2957 ワード

<現在実装が必要なリスト>
  • ドル5+10 CHF=10ドル(為替レートが2:1の場合)
  • $5 * 2 = $10
  • amount私有化
  • ドル副作用
  • 金銭四捨五入
  • equals()
  • hashCode()
  • Equal null
  • Equal object
  • 概念的には1ドルですtimes()演算は、呼び出されたオブジェクトのパラメータに乗算されたDollarを返す必要があります.しかし、テストは正確に反映されていません.
    test codeを次のように変更します.
    @Test
    public void testMultiplication() {
            Dollar five = new Dollar(5);
            assertEquals(new Dollar(10), five.times(2));
            assertEquals(new Dollar(15), five.times(3));
    }
    Dollar classでamountをprivateに変換します.
     private int amount;
    このように変更できるのは、上記のテストが一連の操作ではなく、実際の命題に対する断言であるからです.すなわちamount変数を使用するコードは1ドルしかないのでprivateに変更できます.
    <現在実装が必要なリスト>
  • ドル5+10 CHF=10ドル(為替レートが2:1の場合)
  • $5 * 2 = $10
  • amount私有化
  • ドル副作用
  • 金銭四捨五入
  • equals()
  • hashCode()
  • Equal null
  • Equal object
  • 私たちは今まで.
  • は、テストを改善するために開発する機能
  • のみを使用する.
  • は、2つのテストが同時に失敗すれば終わりだと認識しています.
  • リスクがあるにもかかわらず、
  • を継続している.
  • 試験とコード間の結合度を低減するために,試験対象の新しい機能を用いた.