Paranoia driven development: от ненадёжных контрактов к надежным
Подписывайтесь на наш канал здесь и в телеграмм , чтобы быть в курсе будущих митапов и не пропускать полезные доклады!
Если что-нибудь может пойти не так, оно пойдёт не так. С этим докладом мы намеренно станем программистами-параноиками. Ведь потребитель вашего кода может и будет его использовать неправильно. А значит баги закладываются еще на этапе дизайна публичного API.
Контракты, заложенные в сигнатурах функций и интерфейсах, определяют сколько родится багов при использовании вашего кода. В вашей власти спроектировать их так, чтобы не допускать ошибок при их использовании.
Мясников Алексей / Яндекс
00:00 Введение
01:20 Все допускают ошибки
02:26 Кто пишет баги?
04:18 Здесь есть баг?
06:03 Кто виноват?
07:06 Почему так происходит?
08:21 Контракты на сигнатурах функций
08:30 Задача: Распарсить IP-адрес из строки
13:10 Тестируем всевозможные кейсы
13:52 Неявные контракты
14:39 Неявный контракт провоцирует баги
15:40 Как исключить Init?
17:41 Как убрать неявный контракт?
19:17 Избегаем неявных контрактов на уровне API
19:41 Итоги