Выполнен перевод на русский язык документации Eiffel по технологии проектирования по контракту (Design by Contract).
Широко распространенным способом тестирования программных
компонент является выполнение юнит-тестов. Юнит-тесты описывают набор
шагов, которые необходимо выполнить, для получения необходимого
результата. Однако юнит-тесты трудно писать и поддерживать в актуальном
состоянии, отсутствие декларативности и интеграции в код затрудняет
понимание спецификации программного компонента, объём кода юнит-тестов,
как правило, достаточно велик. Этих недостатков лишены контракты,
которые накладывают ограничения и обязательства на компоненты класса.
Контракты являются частью документации программной системы, позволяют
легко тестировать отдельные компоненты, упрощают повторное
использование и отладку.
Проектирование по контракту изначально
поддерживается в языке Eiffel как на уровне инструментов среды
программирования EiffelStudio, так и во всех стандартных библиотеках,
поставляемых с этой средой. Систематическое применение проектирования
по контракту позволяет упростить проектирование программных систем,
сократить время выявления ошибок, повысить качество кода и надежность
разработанного ПО.