問題タブ [post-conditions]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - Java: 弱い事前条件と強い事後条件、どのように?
置換原則に違反することなく、事前条件と事後条件がどのように機能する必要があるかを理解するのに非常に苦労しています。では、クラスがRectangle
あり、Square
それらを関連付ける方法を考えてみましょう。サブクラスにする必要があるのはどれですか?
したがって、a の事前条件はSubtype
より弱くなる可能性があることを理解しています。つまり、アウト サブクラスで主要な「セット」を取得できます。一方、事後条件はより強力になる可能性があるため、マイナーな「セット」を返すことができます。物事の。これらのルールを私の例に適用するにはどうすればよいですか?
ベースクラスはサブクラスよりも「行う」必要があることを読んだので、それはSquare
私たちのベースクラスとサブクラスでなければならないと思いますRectangle
。したがって、 の事前条件はSquare
assert thatheight == width
である必要がありますが、 の事後条件と事前条件はRectangle
どうでしょうか?
programming-languages - 前提条件と事後条件とは何ですか?
私はプログラミングの方法を学んでいますが、頭を悩ませることができないのは、 preconditions とpostconditionsです。
関数を呼び出す前の if ステートメントは前提条件と見なされますか、それともほとんどの言語でこれを行う別のより効率的な方法はありますか?
また、プログラミングに関する現在の知識で理解できる前提条件の例を見つけるのに苦労しています。誰かが単純なものを証明できれば、本当に感謝します(どの言語でも問題ありません)
design-by-contract - 例外は有効な事後条件ですか?
次のインターフェースを検討してください。
entity、target、およびworldはすべて有効な入力であることを認めます。しかし、パスを見つけるために使用されるアルゴリズム (この場合は Astar) は、パスを見つけることができません。コンクリートの壁に囲まれたターゲットの位置。
事後条件がエンティティからターゲットへのパス(開始からゴール) または NoPathException (パスが見つからなかった場合) であると述べるのは有効ですか?
-それとも、スタートからゴールまで有効な経路がなければならないという前提条件を述べるべきですか?
これは宿題ではなく、学期のプロジェクト レポートを改善するための質問です。フレームワークについて学ぶつもりはありません。これは純粋に、契約による設計に関する標準と形式の問題です。この件についてご説明いただきありがとうございます。
arrays - 配列がソートされていることを確認するための効果的な Eiffel 事後条件
配列がソートされているかどうかを示すクエリを実装しました。across
配列が何かを使用してソートされているかどうかを効果的にチェックする適切な事後条件を作成したいと考えています。
私はこれを次のようにしようとしました:
私はこのようなものを書いてみました:
el.forth
しかし、これはクエリではなくコマンドであるため、明らかに機能しません。
どうすればこれをacross
機能させることができますか、それとも何か他のことをする必要がありますか?