Я обнаружил, что проверка времени выполнения является ядром контрактов кода. Я использовал статическую проверку для нескольких «чистых компьютерных» подпрограмм, где я анализировал поток данных и хотел убедиться, что многие ограничения выполняются, но, на мой взгляд, выполнение статического верификатора слишком сложно для общего кодирования.

soft недавно выпустила релиз своихКодовые контракты фреймворк на DevLabs с коммерческой лицензией. Мы заинтересованы в том, чтобы использовать их в нашем проекте (в основном C #, немного C ++ / CLI), чтобы постепенно заменить весь пользовательский код проверки, но мне интересно узнать об опыте, который другие люди получили с ним, прежде чем мы передадим его, в частности:

Как вы думаете, рамки достаточно зрелые для крупных и сложных коммерческих проектов?

С какими проблемами вы столкнулись при его использовании?

Какие преимущества вы получили от этого?

Это в настоящее время больше боли, чем стоит?

Я понимаю, что это несколько субъективный вопрос, поскольку требует мнения, но, учитывая, что эта структура является очень важной частью .NET 4.0 и (потенциально) изменит способ, которым мы все пишем код проверки, я надеюсь, что этот вопрос останется открыт для сбора опыта по этому вопросу, чтобы помочь мне принять решение по конкретному ответу на вопрос:

Должны ли мы начать использовать его в следующем месяце?

Обратите внимание, что мы не поставляем API кода, а только веб-сервис, поэтому для большинства кодов, нарушающих совместимость с точки зрения создаваемого типа исключения, это не проблема. Однако, поскольку я надеюсь, что этот пост и его ответы принесут пользу большему количеству людей, чем мне, любые подробности в этой области приветствуются.

Ответы на вопрос(1)

Ваш ответ на вопрос