契約による設計の投稿や例を読んでいますが、頭を包み込めないように見えるものがあります。私が見たすべての例で、DbC は事後条件 (多数の銀行口座など) で独自の状態をテストする単純なクラスで使用されます。
ほとんどの場合、クラスのメソッドを呼び出すと、メソッド呼び出しをその外部依存関係に委譲することで、はるかに多くの作業が行われるように思えます。メソッドの外部動作に焦点を当てた依存関係の反転とモック オブジェクトを使用して、特定のシナリオで単体テストでこれを確認する方法を理解していますが、これは DbC と事後条件でどのように機能しますか?
2 番目の質問は、複雑な事後条件の理解に対処する必要があります。多くの関数の事後条件を書き出すには、基本的に事後条件の関数の本体を書き直して、新しい状態がどうなるかを知る必要があるように思えます。そのポイントは何ですか?
私は DbC の概念が本当に気に入っています。特に、検証済みのコントラクトを見つけたときに障害状態を再現する方法を見つけられる場合は、大きな可能性があると思います。過去数時間にわたって、私はいくつかのきちんとしたものを読んでいます。Eiffel での自動テスト生成。私は現在、C++ 開発のプロセスを改善しようとしていますが、現在のプロジェクトで築いたすべての土台を失わないようにする方法を理解できれば、何か新しいことを学ぶことにオープンです。ありがとう。