第1部第4章プライバシー
2957 ワード
<現在実装が必要なリスト>ドル5+10 CHF=10ドル(為替レートが2:1の場合) $5 * 2 = $10 amount私有化 ドル副作用 金銭四捨五入 equals() hashCode() Equal null Equal object 概念的には1ドルですtimes()演算は、呼び出されたオブジェクトのパラメータに乗算されたDollarを返す必要があります.しかし、テストは正確に反映されていません.
test codeを次のように変更します.
<現在実装が必要なリスト>ドル5+10 CHF=10ドル(為替レートが2:1の場合) $5 * 2 = $10 amount私有化 ドル副作用 金銭四捨五入 equals() hashCode() Equal null Equal object 私たちは今まで.は、テストを改善するために開発する機能 のみを使用する.は、2つのテストが同時に失敗すれば終わりだと認識しています. リスクがあるにもかかわらず、 を継続している.試験とコード間の結合度を低減するために,試験対象の新しい機能を用いた.
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に変更できます.<現在実装が必要なリスト>
Reference
この問題について(第1部第4章プライバシー), 我々は、より多くの情報をここで見つけました https://velog.io/@miiunii/1부-4장-프라이버시テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol