どのように成熟するには、Microsoftコード契約させていただきます。
-
21-08-2019 - |
質問
マイクロソフト社の最近入れてリリース コード契約 枠組みDevLabs商用ライセンスです。している直し、そこから生まれるプロジェクト(主にC#、C++/CLI)を徐々に代替していくのカスタム検証コードが、私は心のことを知ってよかった、自分の経験その他の人がたまにコミットでは、具体的には:
いると思いこの量的緩和政策の枠組みは、十分に成熟した大型複合商業開発?
どのような問題に直面していますがどうなりますか?
特典にはどのようなものがありましたしているか確認してください。
では現在、より痛みのよいでしょうか?
私はここではやや主観的な質問が必要になるので意見が、この枠組みは非常に重要な部分です。NET4.0と(可能性)を変更していきたいという検証コードしてもらえればと思います"との質問が残収集の経験を教えてくれるので助かりますの決議によって、特定の関連の質問:
が認められているため利用開始です。
は承っておりませんのでご留意船のコードのAPIは、webサービスの一つで、多数のコード互換性の破れの例外タイプにスローされない一つの関心事となっています。しかし、今以上には私だけでしかこのポストとその回答内容周辺のこの地域は以上のことを歓迎する。
解決 2
私はいくつかのBCLのクラスから継承し、他のものを使用する必要があり、小さいながらも適度に複雑なスタンドアロンのプロジェクト、上のいくつかのより多くのコードとの契約の周り自分自身をプレーしてきた。
契約の事はすぐにあなたが(.NET 4.0まで、独自の契約を持っていません)BCLのクラスの使用を開始として、あなただけの独自のコードとプリミティブ型と完全に隔離された環境で作業しているとき素晴らしいようだが、検証は、彼らが必要と/性を保証/不変条件のいずれかに違反するかどうかをチェックすることはできませんので、あなたは潜在的に満たされていない制約に関する警告の多くを得る。
一方で、それは本当のバグかもしれないいくつか無効であるか、または潜在的に不満足な制約を見つけるん。しかし、それはあなたが修正することができたものを見つけるのは難しいことをそんなにノイズがあるため、これらを見つけることは非常に難しいです。それは仮定のメカニズムを使用してBCLのクラスからの警告を抑制することが可能ですが、これらのクラスは、将来的に契約を締結しているだろうと仮定は自分の価値を軽減しますので、これはやや自滅です。
3.5で、我々は検証が十分にそれはおそらく4.0を待っている価値があることを、理解していないフレームワーク上に構築しようとしているので、だから私の気持ちは、今のことです。
他のヒント
最終成熟に対応したことに、2009年.純4していきたいと思います。いまだに更新:
コードを契約されるのは当然のことで十分に成熟しておDebugリリースなどで行っています。
しかこのほからのアップグレード"害"の"ほぼ無害化".
の コード契約のホームページ リンクを非常に徹底した文書のPDFファイルとなっております。の文書の概要をご利用ガイドライン第5です。以上をまとめますと、わが することができるのでどのよう勇気を感じる の契約ツールで再書ILにリリース構造を作成する環境が整いました
い"を用いな書き換えっIL"モードになります。
これまでに、私が一番楽しかすことができ、給付金額:が少なコードでは、このように 以下のコード試験.すべてのガード条項が溶けます。
if(arg != null) {
throw new ArgumentNullException("arg");
}
// Blank line here insisted upon by StyleCop
な:
Contract.Requires(arg != null);
ご機能をさらに短い。 ご意図がより明確である。 やまを書く試験名ArgumentShouldNotBeNullだけでは100%ます。
これまでに思いを二つの問題:
私は単体テストの依存度が最も高い契約の失敗は成功します。しょう主張の存在を試験した突がたかったの文書この特定の禁止のテストです。この試験に失敗したビルドをアルバイトなどを行っていませんのツールを設置。【解決置します。
今用ツールを書き換えIL: コード契約 や PostSharp.な仲がよくわかります。PostSharpの2.0.8.1283固定の問題です。私は慎重に評価方法 他の 両IL-書き換えツールに仲良くなかった。
これまで、その恩恵をoutweighingの被害を引き起こしました。
対応時問の答え:
- コード契約のドキュメントは非常に徹底したものの、残念なことになる。
- が少なくとも一つの コード契約のフォーラム を開催しまいました。
- コード契約のスタンダード版の場合は無料でごVS2010ライセンスです。
- .純4していきたいと思います。私のラット契約の実施が一般collectionインタフェース
審査により このスレッド だと思うのではないか十分に成熟しては、企業レベルのプロジェクト.しんので、自分が人にものぼる人びとがいまだ走るバグをもたらご契約の重要プロジェクトに歯止めがかかっています。今思うと本当に素晴らしい枠組みの例動画も提供していくのが私を待ち:
- の存在地域フォーラム またしていきたいと考えていて不可避の問題で走るその他の開発者にしたいと考えていましたが広がっていると知ったから周辺)に強いベースの開発者が話題です。
- 成功したパイロットプロジェクトです。 一般に、株式会社東芝研究開発センタースリリースもいいと思う十分に成熟して使用する商業プロジェクト、作業組織のパイロットで、その後リリースするプロジェクトオープンソースとしての概念実証や試験による火災のすべての主要な特徴です。このような自信になると多くの共通の契約のシナリオ。
- より完了します。 平野および簡単なものだったいいものを契約することができませんMicrosoftコードと契約します。したいと良いスタートを切ることができ、明確にこのシナリオ まだサポートしておりません。 現在の文書は、いについての推測と違うものが、私の意見では、多くの無駄な時間。
これは十分に成熟していないです。
これは、すぐにMicrosoftはVSの手頃な価格の版でそれを解放するようになりますが、静的コード解析せずに、それがすべてで使用可能ではありません。
、それを持っている人はほんの一握りは今までそれを買う余裕ができるようになるようにめちゃくちゃ高価であり、VSのエディションます。
これは、Microsoftが彼らの価格政策とこの素晴らしいアイデアを殺した残念です。私は、コードの契約が主流になってほしい、しかし、彼らはしません。
エピックは失敗します。