「コードコントラクト」の版間の差分

imported>Administrator
編集の要約なし
編集の要約なし
1行目: 1行目:
'''コードコントラクト'''(英:Code Contracts)とは、[[.NET Framework 4.0]]で追加された「[[契約による設計]]」を行うため[[フレームワーク]]およびツール群である。
'''コードコントラクト'''(英語:Code Contracts)とは、[[.NET Framework 4.0]]で追加された「[[契約による設計]]」を行うため[[フレームワーク]]およびツール群である。
 
== 概要 ==
[[事前条件]]を表す「Contract.Requires()」と、[[事後条件]]を表す「Contract.Ensures()」を覚えておけば完璧である。コードコントラクトおよび[[契約による設計]]を極めたも同然かもしれない。
 
実のところコードコントラクトは[[D言語]]の目玉機能のパクリである。後発だけあって[[プログラミング言語]]レベルではなく[[ランタイム]]レベルでの実装・対応という汎用性の高さ実現している。


== 注意 ==
== 注意 ==
なお「[[契約による設計]]」を行うために必要な静的解析ツールやドキュメント生成ツールなどは[[Visual Studio]]のお高い上位エディションでのみ動かせるという仕様であり、これらのツールがないと実行時のエラーチェックの書き方が変わるくらいで特に意味をなさない。
なお「[[契約による設計]]」を行うために必要な静的解析ツールやドキュメント生成ツールなどは[[Visual Studio]]のお高い上位エディションでのみ動かせるという仕様であり、これらのツールがないと実行時のエラーチェックの書き方が変わるくらいで特に意味をなさない。


将来的にVisual Studioの上位エディションを導入するというのであればコードコントラクトを用いて記述しておくのも手ではある。
将来的にVisual Studioの上位エディションを導入するというのであればコードコントラクトを用いて記述しておくのも手ではある。また、もしかすると[[オープンソース]]のツールも出てくるかもしれないし、エラーチェックの書き方が一様に均一化するという[[コーディング規約]]的な意味でも積極的に使ってみる価値があるかもしれない。
また、もしかすると[[オープンソース]]のツールも出てくるかもしれないし、エラーチェックの書き方が一様に均一化するという[[コーディング規約]]的な意味でも積極的に使ってみる価値があるかもしれない。


== インストール ==
== インストール ==
17行目: 21行目:
== 名前空間 ==
== 名前空間 ==
コードコントラクトに関するクラス群は System.Diagnostics.Contracts 名前空間に配置されている。
コードコントラクトに関するクラス群は System.Diagnostics.Contracts 名前空間に配置されている。
== 概要 ==


== その他 ==
== その他 ==
28行目: 29行目:


== 参考文献 ==
== 参考文献 ==
<references/>
{{reflist}}
 
== 外部リンク ==


{{stub}}
{{stub}}