2009-08-06 34 views

回答

4

規格#爲API 合同形式語言,它擴展C#與 構建體用於非空值類型, 先決條件,後置條件和 對象不變量(由JML,ASML, 和艾菲爾影響)。 Spec#附帶 聲音編程方法,即 允許關於對象不變量的規範和推理 ,即使在回調和 多線程中。 Spec#是研究 車輛,已用於探索 規格以及使用它們的動態/靜態 工具。

Spec#

+1

大說明 – 2009-08-06 20:36:24

+2

它應該是。這是從發佈的鏈接中剪切和粘貼的。 – 2009-08-06 20:37:28

+3

我想盡可能多...但這並不能阻止它成爲一個很好的描述 – 2009-08-06 21:02:05

1

這裏是Microsoft Research page概述該項目。

從網站:

的規格#編程系統是一個更具成本效益的方式 新 試圖發展和保持高品質的 軟件。

0

它被遺棄了。

Is Spec# stable enough to use?

+0

雖然這也許是真的......它並沒有真正回答這個問題。 – 2009-08-06 20:37:13

+0

我覺得這是相關的信息。 /聳肩 – 2009-08-06 20:48:07

4

規格#爲編程語言,它是必不可少的一個延伸到C#。它增加了定義方法合同的功能。聯繫人的條件是必須爲真,方法纔有效。一個聯繫人的例子就是說當方法運行時,一個特定的參數不能爲null。

它包含一個可以運行的工具,試圖證明條件是否得到保證。

這是微軟的一個研究項目,現在已被放棄,但完成的工作形成了code contracts in .net 4.0的基礎。

Spec# on wikipedia