Как стать автором
Обновить

Google упрощает контрактное программирование

Время на прочтение1 мин
Количество просмотров2.5K
Google выпустил открытую библиотеку Contracts for Java, которая упрощает реализацию методов контрактного программирования в Java. С помощью библиотеки Contracts for Java предусловия, постусловия и инварианты можно добавлять в Java как булевые выражения внутри аннотаций.

Как сказано в официальном анонсе, библиотека разработана двумя программистами Google в свободное от основной работы время (20% на личные проекты) и основана на Modern Jass и сделана под впечатлением от языка Эйфель, в котором впервые был реализован метод контрактного программирования.

Метод контрактного программирования предполагает, что проектировщик должен определить формальные, точные и верифицируемые спецификации интерфейсов для компонентов системы. При этом, кроме обычного определения абстрактных типов данных, также используются предусловия, постусловия и инварианты. Данные спецификации называются «контрактами» в соответствии с концептуальной метафорой условий и ответственностей в бизнес-контрактах.

Всё это нужно для того, чтобы как можно точнее находить место ошибки в коде. Google приводит такой пример: если в стандартном коде место сбоя может быть довольно далеко от места ошибки,



… то в случае нарушения контракта место ошибки сразу локализуется.



Более подробно о контрактном программировании можно почитать в литературе и описании методологий, использованных в Contracts for Java.
Теги:
Хабы:
Всего голосов 49: ↑39 и ↓10+29
Комментарии36

Публикации

Истории

Работа

Java разработчик
350 вакансий

Ближайшие события