【読書会メモ】テスト駆動設計(4)

実施日時:2020/5/8
対象範囲:第7章-第11章
参加者:こなやん、くめごん、まぶり、kassyi

7章
クラス設計する時には、なるべく先延ばしにすると良いこともある
8章
メソッド宣言だけを親クラスに移動
ファクトリーメソッドパターンを導入して、テストコードから2つのサブクラスの存在を隠した
サブクラスを隠した結果いくつかのテストが冗長になったがそのままにしておいた
9章
通貨オブジェクトを管理する前にまずは文字列を作成
timesメソッドの中を修正し、次にファクトリメソッドから文字列CHFを渡すように変更する。
変更のステップを小さくもできるし大きくもできる。
正しい歩幅は存在しないので、少しずつ様子見しながら歩幅を調整する。
インプットアウトプットが明確できれいなコードだとテストが書きやすい
10章
Moneyクラスを抽象クラスから具象クラスに変更する
toStringは、デバッグ出力のためだけに利用されるため、テストケースの記述に先だって記述した。
Franc(10,"CHF")とMoney(10,"CHF")が等価でないと判定されてしまったので、
FrancのtimesメソッドをMoneyインスタンスを返すようにした。
再度、toStringが残ったままなので、リファクタリングを実施して消すほうが良いと思われる。
レッド・グリーン・リファクタリングのリズムが大事
10章ではリファクタリングが無かった。
11章
コンストラクタしかないサブクラスのDollerとFrancは削除する。
DollerとFrancを返していたメソッドをそれぞれMoneyを返すように修正する。
この章で掛け算の処理が終わった。

この記事が気に入ったらサポートをしてみませんか?