-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
第16章 将来の読み手を考えたテスト #20
Conversation
Sumのplusメソッドを実装し、timesメソッドも実装すればExpressionが完成する。 |
より意図を示すためにSumをnewしている。 今考えていることを将来の仲間に伝えることも大事。読者のことを考えよう。 |
グリーンになったので、TODOリストを済にする。 Moneyのplusと同じ実装になったので、抽象クラスの足音が聞こえてきそうだ。 |
TODO
|
コード量が増えるが、それも織り込み済みでTDDが有用かをチェックしないといけない。デバッグやインテグレーション、人への説明も含む。 |
TODO
|
Sumにtimesメソッドを追加すれば、Expressionにtimesメソッドを追加するだけで良い。 |
テストから書こう。 |
コンパイルは落ちる。 |
グリーン。
|
TODO
|
残るTODOは、同じ通貨で足し算をした場合に最適化されているテスト。 |
テストは落ちる。
|
このテストは悪い臭いがする。踏み入ったテストになっていて、外部から見た振る舞いのテストになってない。 が、さきに進むための実験的なテストなので良しとする。 |
しかし、これはうまく機能しない。
テストを消して引き返すことにする。 |
テストを消してグリーンにした。 |
TODO
|
振り返り。
|
16章終了。 |
TODO
$5+10CHF=$10(レートが2:1の場合)$5+$5=$10Bank.reduce(Money)Moneyを変換して換算を行うReduce(Bank, String)