「TDD(テスト駆動開発)」を行うことでコードの設計が良くなる理由はどれか。

テストしやすいコードを書こうとすると、自然と役割が分離された綺麗な構造になる。