Программирование на основе контрактов

Может кто-нибудь объяснить концепции, что SpeС# может перемещаться в С# 4.0, в отношении кодовых контрактов?

  • Что такое кодовые контракты (выглядит как шаблон проверки времени компиляции)
  • Должен ли я быть в восторге от этого?
  • Правильно ли я предполагаю, что мы будем перемещать то, что было бы проверкой времени выполнения, чтобы скомпилировать время?

Спасибо!

2 ответа

Я лично являюсь большим поклонником парня по имени Бертран Мейер, который написал эту книгу под названием Объектно-ориентированное программное обеспечение и создал язык под названием Eiffel который поддерживает проект "Контракт" или "Контрактное программирование".

  • Код Контракт - это своего рода соглашение между двумя программными объектами, которые могут или не могут взаимодействовать. Более или менее похожие интерфейсы, но более точные.
  • Я не уверен, что все должны или будут рады этому.
  • Ваше предположение несколько правильно.

Возможно, вам захочется увидеть эту серию видео ссылка


Здесь хорошее описание кода сжимается прямо из Microsoft Research. Похоже, основные преимущества:

  • Улучшенная тестируемость
  • Статическая проверка
  • Документация API (в коде)

licensed under cc by-sa 3.0 with attribution.