Контрактное программирование
Может кто-нибудь объяснить концепции, которые SpeC# может переходить в C# 4.0, в отношении контрактов кода?
- Что такое контракты кода (похоже, шаблон проверки времени компиляции)
- я должен быть взволнован об этом?
- Правильно ли я предположил, что мы переместим то, что будет проверкой во время выполнения для компиляции времени?
Спасибо!
2 ответа
Лично я большой поклонник парня по имени Бертран Мейер, который написал эту книгу под названием " Объектно-ориентированное программное обеспечение" и создал язык под названием Eiffel, который поддерживает программирование на основе проектирования или контракта.
- Кодовый контракт - это своего рода соглашение между двумя программными организациями, которые могут взаимодействовать или не взаимодействовать. Более или менее похожи на интерфейсы, но точнее.
- Я не уверен, что все должны или будут рады этому.
- Ваше предположение несколько верно.
Возможно, вы захотите увидеть эту серию видео по ссылке
Вот хорошее описание контрактов кода прямо из Microsoft Research. Похоже, основными преимуществами являются:
- Улучшенная тестируемость
- Статическая проверка
- Документация по API (в коде)