Хорошо, что в воскресенье пулреквест не послал. Ночью пришло в голову более приличное решение - выкинуть все эти Policy, traits... сделать этот retry максимально по-простому. Правильнее вообще было бы смотреть на это как на фильтр на потоке; ну это, может быть, когда мы потоки внедрим; пока что их у нас нету.
Ну и вот; навалял пулреквест, послал Марко, Матвею и Джошу. Пусть молодежь поучится программированию в стиле Маршака. Шоб простенько и шоб со вкусом.
В 10 был общий митинг; там поздравляли двух, которых продвинули по должности, потом еще с полдюжины, если не больше, новеньких. В основном индийские имена. И один Иван.
С Матвеем обсудили, как обуздать алгебраиста Марко - слишком быстро его разум скачет, здравый смысл не поспевает. Я там другой пулреквест замутил, обещанные тесты, и рефакторинг. Когда увидел, как он по-книжному монаду Effect везде сует, и в случае ошибки закрывает там какой-то файл, а в случае успеха запоминает результат, закрывает тот же самый файл, и возвращает результат, а т.к. кругом монада на монаде, то закрытие файла монадично (хотя и никаких эффектов не ловится... или ловится?), и кругом еще flatMap, и всякое такое; при этом т.к. делается это монадично, то после неудачного закрытия файла никакой уже клиент не отсоединяется. Ну и т.д. Я это дело на кухне сидел курочил, так громко заржал. Хорошо Марко, который там же сидел на кухне, не прибежал смотреть, над чем это я смеюсь. Над его кодом.
В два был 1-1 со Шрирамом; обсудили, как обуздать Нейта - ну, у Шрирама еще лучше есть идейка, как нам тесты на бранчах гонять, тогда и Нейт никакой не нужен. Ну и вообще. Все хорошо.
К трем мне было уже решительно нечем заняться... а, нет; Джейд нынче дежурная по продакшену, нашла там багу - три дня наш клиент (в смысле, софтвер) долбился на сервер с частотой 1 герц, получал 403, с сопровождающим текстом ("Forbidden"), пытался распарсить джейсоном это слово, и жаловался, что не понимает букву 'F'. Вот так алгебраисты программируют. Happy path. Ну и там еще это все завернуто в ожидание результата с таймаутом Infinity. Ненуачо, вдруг у нас таск длиннее, чем тепловая жизнь вселенной? Пусть работает. Обсудили это дело с Джейд, она пофиксит.
А, а у меня с десяток интегрейшен тестов рушится на новом пулреквесте. Это чо. Тогда я взял dev, стащил в один из фолдеров (у меня теперь как у Матвея, три параллельно проекта), погнал - рушатся. Рушатся так: "reporter already created" - и эксепшен. Ненуачо. Не идемпотенты же в код вставлять. Джошу показал, тот такой - "а, да, видел, хз". И написал пулреквест, где этот эксепшен просто игнорируется. И правильно делается. Я апрувнул тут же, и понеслась. Оставил мои тесты бегать на ночь (ну, на вечер), а сам пошел на поезд на четыре. Еле дождался уже; делать-то нечего на работе. Уж и дрим весь прочитал, и новости все; Трамп с Джулиани из ушей уже лезут.
Ну и вот; навалял пулреквест, послал Марко, Матвею и Джошу. Пусть молодежь поучится программированию в стиле Маршака. Шоб простенько и шоб со вкусом.
В 10 был общий митинг; там поздравляли двух, которых продвинули по должности, потом еще с полдюжины, если не больше, новеньких. В основном индийские имена. И один Иван.
С Матвеем обсудили, как обуздать алгебраиста Марко - слишком быстро его разум скачет, здравый смысл не поспевает. Я там другой пулреквест замутил, обещанные тесты, и рефакторинг. Когда увидел, как он по-книжному монаду Effect везде сует, и в случае ошибки закрывает там какой-то файл, а в случае успеха запоминает результат, закрывает тот же самый файл, и возвращает результат, а т.к. кругом монада на монаде, то закрытие файла монадично (хотя и никаких эффектов не ловится... или ловится?), и кругом еще flatMap, и всякое такое; при этом т.к. делается это монадично, то после неудачного закрытия файла никакой уже клиент не отсоединяется. Ну и т.д. Я это дело на кухне сидел курочил, так громко заржал. Хорошо Марко, который там же сидел на кухне, не прибежал смотреть, над чем это я смеюсь. Над его кодом.
В два был 1-1 со Шрирамом; обсудили, как обуздать Нейта - ну, у Шрирама еще лучше есть идейка, как нам тесты на бранчах гонять, тогда и Нейт никакой не нужен. Ну и вообще. Все хорошо.
К трем мне было уже решительно нечем заняться... а, нет; Джейд нынче дежурная по продакшену, нашла там багу - три дня наш клиент (в смысле, софтвер) долбился на сервер с частотой 1 герц, получал 403, с сопровождающим текстом ("Forbidden"), пытался распарсить джейсоном это слово, и жаловался, что не понимает букву 'F'. Вот так алгебраисты программируют. Happy path. Ну и там еще это все завернуто в ожидание результата с таймаутом Infinity. Ненуачо, вдруг у нас таск длиннее, чем тепловая жизнь вселенной? Пусть работает. Обсудили это дело с Джейд, она пофиксит.
А, а у меня с десяток интегрейшен тестов рушится на новом пулреквесте. Это чо. Тогда я взял dev, стащил в один из фолдеров (у меня теперь как у Матвея, три параллельно проекта), погнал - рушатся. Рушатся так: "reporter already created" - и эксепшен. Ненуачо. Не идемпотенты же в код вставлять. Джошу показал, тот такой - "а, да, видел, хз". И написал пулреквест, где этот эксепшен просто игнорируется. И правильно делается. Я апрувнул тут же, и понеслась. Оставил мои тесты бегать на ночь (ну, на вечер), а сам пошел на поезд на четыре. Еле дождался уже; делать-то нечего на работе. Уж и дрим весь прочитал, и новости все; Трамп с Джулиани из ушей уже лезут.