Константин Гейст (iSpring) - “Следи за своим состоянием: валидация в ООП”
Аннотация на доклад “Следи за своим состоянием: валидация в ООП“ со встречи C User Group 2018.
В докладе обсуждается весьма спорная, но интересная проблема - последовательный вызов двух, изменяющих состояние объекта, методов может приводить к ошибкам. По ходу рассказа можно кое-что узнать про исключения, тестирование и контрактное программирование.
Тайминг доклада:
2:30 - понятие валидности (соответствие кода спецификации) и мутабельности (возможности изменения свойств объектов). Приводится простой пример.
9:25 - откуда возникает проблема: побочные эффекты и скрытые переходы, временное связывание, исключения.
18:40 - что делать? Модульное тестирование, контрактное программирование (assert, контракты С 20, ).
24:10 - два правила иммутабельности:
1) конструктор выполняет валидацию и либо возвращает валидный объект, либо - кидает исключение {это можно делать, если используется RAII: }).
2) методы класса
7 views
1984
616
7 months ago 01:24:57 1
Не могу сказать «Прощай». Мелодрама. 1982 год.
1 year ago 00:49:11 9
Константин Гейст (iSpring) - “Следи за своим состоянием: валидация в ООП”
3 years ago 00:16:55 1
Композитор Гейст Константин Романович
3 years ago 00:03:53 26
“Elegy“ composer Konstantin Geist
3 years ago 01:27:22 1
110 лет К Р Гейст
3 years ago 00:07:12 1
композитор Константин Романович Гейст. Концерт фантазия для домры