Мерль
Go Reliability and Durability at Dropbox
https://about.sourcegraph.com/go/go-reliability-and-durability-at-dropbox-tammy-butow
Dmitry
Slava
Slava
https://www.youtube.com/playlist?list=PL2ntRZ1ySWBdD9bru6IR-_WXUgJqvrtx9
Daniel
отправлять их в разных горутинах
Anonymous
Про антипаттерны офигенный доклад
Anonymous
Много чего я использую из того, что чувак считает антипаттерном, например именнованные параметры возврата и if-else
Ivahaev
В старом докладе Дмитрия Вьюкова есть пример.
Anonymous
А на мастерклассах видео не снимали
но вот презенташка по мастерклассу debuggging/profiling
https://github.com/campoy/go-tooling-workshop
Anonymous
проблема в том что можно написать if, где неявно создать присвоением одноименную переменную, но уже в локальном скопе, синтаксически все верно, но работать будет неправильно
Anonymous
и это действительно путает
Daniel
ну вот это единственный случай, когда в нем реально есть смысл
Anonymous
а перехват паник - да, по другому не работает
Daniel
Anonymous
в смысле чтобы при панике таки вернуть какое-то значение отличное от дефолтного
Anonymous
но вообще если ты перехватываешь панику и при этом что-то возвращаешь
Anonymous
то это признак говнокода )
Anonymous
хотя таких либ овермного на томже гитхабе
Anonymous
А когда вообще можно паниковать?
Aleksandr
а конечный потребитель уже сам решит критичная для него ситуация или нет
Мерль
Когда что-то произошло, что нувсёпиздец и нужно упасть прямо сейчас
Например, в функции-конструкторе, там лучше упасть сразу, но с подробный объяснением, что не так
Anonymous
Типа если пиво в падике из руки выпало?
Anonymous
Или боярышник пролился?
Anonymous
Серьёзно, маты уже глаз режут
Anonymous
панику обычно кидает самый верхний уровень проги
Anonymous
либа не имеет право
Daniel
да ладно
Daniel
null pointer exception тебе откуда угодно может приехать
Anonymous
Нафига вам дженерики?
Kirill
Anonymous
тут стикеры запрещены что ли
Mike
да
Mike
а еще тут запрещено обсуждать нормальные языки
Mike
только го
Anonymous
прост в правилах нет ничего
Anonymous
:l
Ruslans
надо отца спросить
Ruslans
@twentydraft
Anonymous
Дженерики и обработку ошибок тоже если что - нельзя обсуждать.
Anonymous
менеджеры пакетов тоже
Anonymous
Прост интересно че все в них уперлись
Мерль
Anonymous
Мерль
Anonymous
А?
здесь стикеры запрещены?
Мерль
Как бы ничто не мешает игнорировать вопрос, если не хочется
Anonymous
У кого-то даже были гоферские стикеры.
Ruslans
А?
поясни за стикеры, говорят запрещены
Mike
Valentin
Мерль
Mike
Anonymous
мхм
Anonymous
какой-то админ меня не любит тогда
Aleksandr
ребят, просто мера должна быть. когда ты постишь стикер, подтверждающий твои слова - ок, когда просто вбрасываешь телку - задумайся, нахрена ты это делаешь в чате про программирование во время разговора о нем же?
Anonymous
Мерль
Anonymous
Anonymous
Я про вызов паник писал
Daniel
Я про вызов паник писал
вполне может сложится ситуация, когда ты обнаружил ошибку, и восстановлению оно не подлежит.
Anonymous
панику обычно кидает самый верхний уровень проги
Я думаю наоборот. Панику может кидать только стандартная либа на тех оперциях, где нельзя ещё и вернуть код ошибки. Например, операция деления. Все остальные должны возвращать ошибку.
Daniel
коллеги, паника - это когда вы хотите, чтобы программа ваша упала и напечатала стектрейс
Daniel
потому как расчитывать на то, что панику вашу перехватят, вы не можете, это не exception
Anonymous
Daniel
например - вам в либу на вход приехало нечто, чего вы не ждали совсем.
Michael
😂😂😂
Daniel
лучше, конечно, поиграть в интерфейсы, чтобы это компилятор поймал
Daniel
но бывает, что и не получается
Anonymous
Daniel
всякое бывает
Daniel
ждать, что в следующий раз приедет что-то более приемлемое, вы не можете - скорее всего, приедет такое же
Daniel
вот тут можно кинуть панику
Mike
я вообще считаю что нужно никогда не паниковать