Я думаю, что проектирование по контракту - отличная идея, и я взглянул на фреймворки, которые предоставляют эту функциональность в Java.Я думаю, что удержало меня в том, что получить бай-ин от команды для такого рода фреймворков может быть сложно.Я думаю, что это воспринимается как академический интерес, что странно, потому что на самом деле это все равно, что встраивать модульные тесты в код.
Основной намек Java в этом направлении, утверждение assert, существует уже несколько лет, но яредко вижу его используемым - часто только в коде, который я пишу сам!Использование утверждений требует больших усилий (особенно в сочетании с юнит-тестами), и я обнаружил несколько ошибок, использующих их, просто жаль, что люди их не используют.
Приветствия,
Ян.