Microsoftが.NET4のコードコントラクト相対関数に奇妙な方法で名前を付けていることに気づきました。
「require」と「ensure」の最後に「s」を追加するため、Contract.Requires()とContract.Ensures()がありますが、「assert」と「assume」の最後にはないため、Contractがあります。 .Assert()およびContract.Assume()。違いは私を少し混乱させます。
実際、私の本当の問題は、PHPでcode-contractを使おうとしているので、.NET 4の「Contract」クラスを模倣するものを作成することです。PHPにはパラメーターのタイプを検証する組み込みメソッドがないため、検証を行うために、自分のContractクラスにメソッドを追加します。「expect」という単語を選択します。「expectparameter'bar'は文字列であると思いますが...」は、パラメーターの型が間違っている場合の一般的なメッセージです。そして問題が発生します。メソッドにContract.Expect()という名前を付ける必要がありますか、それともContract.Expects()という名前を付ける必要がありますか?
私は英語を話さない国から来たので、英語が下手でごめんなさい。実際には英語の質問かもしれませんが、私を助けることができるのはプログラマーだけだと思います。この質問がここで適切でない場合は、申し訳ありません。