Контрактное программирование

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

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

Спасибо!

2 ответа

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

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

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

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

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