Константин Гейст (iSpring) - “Следи за своим состоянием: валидация в ООП”

Аннотация на доклад “Следи за своим состоянием: валидация в ООП“ со встречи C User Group 2018. В докладе обсуждается весьма спорная, но интересная проблема - последовательный вызов двух, изменяющих состояние объекта, методов может приводить к ошибкам. По ходу рассказа можно кое-что узнать про исключения, тестирование и контрактное программирование. Тайминг доклада: 2:30 - понятие валидности (соответствие кода спецификации) и мутабельности (возможности изменения свойств объектов). Приводится простой пример. 9:25 - откуда возникает проблема: побочные эффекты и скрытые переходы, временное связывание, исключения. 18:40 - что делать? Модульное тестирование, контрактное программирование (assert, контракты С 20, ). 24:10 - два правила иммутабельности: 1) конструктор выполняет валидацию и либо возвращает валидный объект, либо - кидает исключение {это можно делать, если используется RAII: }). 2) методы класса
Back to Top