「コードコントラクト」を編集中
ナビゲーションに移動
検索に移動
この編集を取り消せます。 下記の差分を確認して、本当に取り消していいか検証してください。よろしければ変更を保存して取り消しを完了してください。
最新版 | 編集中の文章 | ||
1行目: | 1行目: | ||
− | '''コードコントラクト''' | + | '''コードコントラクト'''(英語:Code Contracts)とは、[[.NET Framework 4.0]]で追加された「[[契約による設計]]」を行うため[[フレームワーク]]およびツール群である。 |
== 概要 == | == 概要 == | ||
[[事前条件]]を表す「Contract.Requires()」と、[[事後条件]]を表す「Contract.Ensures()」を覚えておけば完璧である。コードコントラクトおよび[[契約による設計]]を極めたも同然かもしれない。 | [[事前条件]]を表す「Contract.Requires()」と、[[事後条件]]を表す「Contract.Ensures()」を覚えておけば完璧である。コードコントラクトおよび[[契約による設計]]を極めたも同然かもしれない。 | ||
− | 実のところコードコントラクトは[[D言語]] | + | 実のところコードコントラクトは[[D言語]]の目玉機能のパクリである。後発だけあって[[プログラミング言語]]レベルではなく[[ランタイム]]レベルでの実装・対応という汎用性の高さ実現している。 |
== 注意 == | == 注意 == | ||
− | + | なお「[[契約による設計]]」を行うために必要な静的解析ツールやドキュメント生成ツールなどは[[Visual Studio]]のお高い上位エディションでのみ動かせるという仕様であり、これらのツールがないと実行時のエラーチェックの書き方が変わるくらいで特に意味をなさない。 | |
将来的にVisual Studioの上位エディションを導入するというのであればコードコントラクトを用いて記述しておくのも手ではある。また、もしかすると[[オープンソース]]のツールも出てくるかもしれないし、エラーチェックの書き方が一様に均一化するという[[コーディング規約]]的な意味でも積極的に使ってみる価値があるかもしれない。 | 将来的にVisual Studioの上位エディションを導入するというのであればコードコントラクトを用いて記述しておくのも手ではある。また、もしかすると[[オープンソース]]のツールも出てくるかもしれないし、エラーチェックの書き方が一様に均一化するという[[コーディング規約]]的な意味でも積極的に使ってみる価値があるかもしれない。 | ||
17行目: | 17行目: | ||
* http://msdn.microsoft.com/ja-jp/devlabs/dd491992.aspx | * http://msdn.microsoft.com/ja-jp/devlabs/dd491992.aspx | ||
− | なお、[[.NET Framework 4.0]]の標準クラス群もコードコントラクトを使いまくっているため、[[Visual Studio]]にコードコントラクトのアドインを[[インストール]]した後は、自前で書いた[[ソースコード]]にコードコントラクトが埋め込まれてなくとも、標準クラス群の使い方次第では[[静的解析]]で[[エラー]]と[[警告]] | + | なお、[[.NET Framework 4.0]]の標準クラス群もコードコントラクトを使いまくっているため、[[Visual Studio]]にコードコントラクトのアドインを[[インストール]]した後は、自前で書いた[[ソースコード]]にコードコントラクトが埋め込まれてなくとも、標準クラス群の使い方次第では[[静的解析]]で[[エラー]]と[[警告]]が出まくることがある。 |
== 名前空間 == | == 名前空間 == |