は、次のインタフェースを考えてみましょう。しかし、パスを見つけるために使用されたアルゴリズム(この場合はAstarです)は、パスを見つけることができません。 ターゲットの位置はコンクリートの壁で囲まれています。例外は有効な事後条件ですか?</em>は、すべての有効な入力され</p> <pre><code>public interface AISPI { public Path getPath(Entity entity, Entity target, World world) throws NoPathException; } </code></pre> <p>確か<em>そのエンティティ</em>、<em>ターゲット</em>、および<em>世界:
は、事後条件がエンティティにターゲット(目標に開始)または(パスが見つからなかったことを考えると)NoPathExceptionからパスのいずれかであることの状態には有効ですか?
- は、開始から終了までの有効なパスが必要であるという前提条件がありますか?
これは宿題ではありませんが、私たちの学期プロジェクトレポートを改善するための質問です。私はどのフレームワークについても学ぶつもりはないが、これは純粋に契約による設計に関する標準と手続きの問題である。この問題の説明をありがとう。
私の意見では、例外も戻り値も事後条件ではありません。事後条件とは、「手続きが終了した後、Xがある場合です。」というXがある条件です。一例は、範囲[m、n]の値xをクランプする手順であってもよい。事後条件は、m <= x <= nである。 「パスが返されるか、例外がスローされる」は事後条件ではない。それは文字通りメソッドシグネチャによって強制される契約です。 – trentcl
私はあなたのフィードバックを重視しますが、質問には答えません。私はあなたの用語訂正を組み込むために投稿を編集することができますが、実際の質問に関しては何も変わりません。これは、知覚の問題ではなく、標準に合致した正確さの問題です。 – LuqJensen
私は同意します、これは質問に対する答えではありません。だからこそ私はコメントではなく答えとして投稿したのです。あなたは私を無視するように自由に感じるかもしれませんが、より正確にあなたの質問を定式化すれば、あなたはより良い答えを得るでしょう。 – trentcl