Size: a a a

2020 August 02

SS

Sergey Skvortsov in supapro.cxx
Да, если ошибок не случается, то исключений не видно, но этого же не было в постановке задачи
источник

SS

Sergey Skvortsov in supapro.cxx
Если их хоть сколько-то значимое число, что как раз очень часто при проверке условных форм / парсинге / etc, то что-то совсем не очевидно, что исключения — безусловно лучший подход
источник

ПК

Побитый Кирпич... in supapro.cxx
Sergey Skvortsov
Если их хоть сколько-то значимое число, что как раз очень часто при проверке условных форм / парсинге / etc, то что-то совсем не очевидно, что исключения — безусловно лучший подход
В таких случая выброс исключения как раз будет незаметен, по сравнению с затратами на сам алгоритм
источник

SS

Sergey Skvortsov in supapro.cxx
Да вон обработка формы
источник

ПК

Побитый Кирпич... in supapro.cxx
Успешный кейс завершается за X секунд, провальный за 1.0001X
источник

SS

Sergey Skvortsov in supapro.cxx
if (birth_year > 2020) { throw ... }
источник

ПК

Побитый Кирпич... in supapro.cxx
Sergey Skvortsov
Да вон обработка формы
Дак это нечастый выброс
источник

SS

Sergey Skvortsov in supapro.cxx
А если там 20 полей с кучей простых условий?
источник

SS

Sergey Skvortsov in supapro.cxx
Такого кода много
источник

SS

Sergey Skvortsov in supapro.cxx
Ну и не понятно, зачем в таком случае вообще исключения
источник

NI

Nikita Ivanov in supapro.cxx
Sergey Skvortsov
if (birth_year > 2020) { throw ... }
хочу чтобы был
throw ...
источник

NI

Nikita Ivanov in supapro.cxx
будет женский язык программирования
источник

SS

Sergey Skvortsov in supapro.cxx
Побитый Кирпич
Успешный кейс завершается за X секунд, провальный за 1.0001X
С аналогичной логикой, только в обратную сторону и сильно меньшими цифрами на несчастный if (error)
источник

ПК

Побитый Кирпич... in supapro.cxx
Sergey Skvortsov
А если там 20 полей с кучей простых условий?
Ну смотри, форма заполняется юзером последовательно, представим что он залажал во всех 20 полях, но он их не одновременно залажает, а по одному. Тебе в GUI достаточно только сохранить responsive интерфейс, грубо говоря 60 FPS без фризов, исключения тебе тут не помешают
источник

ПК

Побитый Кирпич... in supapro.cxx
Sergey Skvortsov
С аналогичной логикой, только в обратную сторону и сильно меньшими цифрами на несчастный if (error)
Коды возврата это ужасный способ обработки ошибок, именно с точки зрения качества кода
источник

SS

Sergey Skvortsov in supapro.cxx
Побитый Кирпич
Ну смотри, форма заполняется юзером последовательно, представим что он залажал во всех 20 полях, но он их не одновременно залажает, а по одному. Тебе в GUI достаточно только сохранить responsive интерфейс, грубо говоря 60 FPS без фризов, исключения тебе тут не помешают
Валидируем на нагруженном бэке, GUI нет, весь сервис только формы проверяет
источник

SS

Sergey Skvortsov in supapro.cxx
Побитый Кирпич
Коды возврата это ужасный способ обработки ошибок, именно с точки зрения качества кода
Почему?
источник

NI

Nikita Ivanov in supapro.cxx
Sergey Skvortsov
Почему?
потому что так делает винапи
источник

SS

Sergey Skvortsov in supapro.cxx
Ладно, это уже совсем оффтоп, можно в другой чатик, если есть подходящие
источник

ПК

Побитый Кирпич... in supapro.cxx
Sergey Skvortsov
Почему?
Потому что на кодах возврата ты не построишь контракты и гарантии. Тебе надо их вручную проверять. Они смешивают код и обработку ошибок. Ты не можешь проверить код возврата оператора или конструктора
источник