Вы профессионально используете дизайн по контракту? Это то, что вам нужно сделать с самого начала проекта, или вы можете переключать передачи и начать включать его в жизненный цикл разработки программного обеспечения? Что вы нашли в качестве плюсов и недостатков подхода к дизайну?
Я встретил подход Design by Contract в градиентной школе. В академических условиях это казалось довольно полезной техникой. Но я в настоящее время не использую Design by Contract профессионально, и я не знаю других разработчиков, которые его используют. Было бы хорошо услышать о его фактическом использовании из толпы SO.