Собственно, трахался я сегодня с одной фигней. Примерно так выглядит.
Дано:
Единственный вариант использования -
Ну рефакторю. Добавляю параметры
Заменяю на
Все эти args в конфиге - чисто значения, без всяких там эффектов.
Не работает. Два теста рушатся, т.к. во временной директории отсутствую два промежуточных файла с данными.
Вот такой сайд-эффект. Так что режу мой рефакторинг на мелкие кусочки. Локализовал уже два параметра, с которыми фокус чота не удается.
А еще один интегрейшен-тест на мастере внезапно ебанулся; это Кшиштоф причем обнаружил, а до нас как-то не доходит. Стал расследовать. Ну там чо, там в одном месте бросаем ServerConnectionException, в другом ловим любой эксепшен и заворачиваем в ServerConnectionException, в третьем еще раз. Ну и попали, тест не понимает, тест видит, что месидж неправильный. Эксепшен же МОНАДА, ребята. Но этот мудак, Ханифи, он про монаду ничего не знает и знать не желает, он спринг любит. Хер с ним, стал это дело выравнивать под монаду.
А Кшиштоф нервничает, ему чота надо. И Джош нервничает, ему мержить надо. А куда мержить, если тесты не идут. Мы ж не в H2O, мы типа культурные.
Ладно, такие дела.
На скрамном митинге мне Томас навалял какой-то херни делать. Типа удалить такие-то файлы где-то. Или сначала посчитать, сгрупировав. Ну я типа тут хотя бы SQL знаю, дык.
Я нынче две недели в наряде, дежурный по пейджеру (засунутому сами знаете куда). Пейджер звонит, мол, слышь, на dev задержки. Ну я думаю, чо, беременные, нет? Пейджер еще говорит - пойди на сумолоджик и посмотри логи с номером джоба. Но номер джоба не говорит. Ну я там нахожу примерно по контексту. Да, уже три часа джобы не стартуют. Пишу нашим там, админам, девопсам, пусть погавкают на амазон.
В три релиз-митинг. Катя, которую недавно выдвинули в релиз-менеджеры, говорит, что теперь митинг будут вести участники. Игроки. Вот мы вот эти, дежурные по пейджерам.
Синди выступает, у нее там пара интегрейшен-тестов рушится; Синди - это смежники, и она у них в наряде. Я вижу ее стактрейс, говорю, Синди, пошли мне линк, я посмотрю, больно знакомая картина.
Потом я вкратце выступил, что у нас интегрейшен тест поломан, и релизить нам на этой неделе нечего поэтому. Ну и отличненько.
Синдину проблему посмотрел, посоветовал за решением обращаться к девопсам (там с креденшиалзами), но мессага совершенно варварская, и я переписал это дело (валяли там какой-то Гаурабх да наш Том, те еще программисты), переписал с моим классом Result, и послал Синди да Кшиштофу. А Кшиштоф этого класса не знает; рассказал ему заодно. Кшиштоф вообще слегка закипает, что у нас тесты идут по два часа на билд-машине. Я ему такой - давай менеджеров пинать, звеном повыше, потому что наши непосредственные этим делом не интересуются, им за это премию не платят, а наш Пиэм вообще по-программистски не понимает, и зачем нужны тесты, он просто не в курсе, этого нет в плане работ, чтоб тесты ускорять. Их, кстати, Индранил порядочно позамедлял (у меня там стоял ускоритель в 100 раз, но... но всех не вылечишь).
Ну так и день прошел. Что характерно, Томас порадовался моему пятничному пулреквесту, но апрувать не стал, оставил Джошу. А Джош меня долго донимал с этим монадическим эксепшеном, зачем я там мутабельность вставил.
А потому что. (Потому что я начитался SICP и Раста, и не так уж и боюсь этой самой мутабельности, в некоторых специфических случаях.)
Вот и все на сегодня.
А, у нас новый вендор в смысле еды. Кофе поганый, вода для чая поганая, но остальной хавчик образцовый. Ну шоу, конечно. Хавчик подороже они могут в первый месяц повыставлять, а в кофе они ж не разбираются. Питса уже нету. Я люблю питсовский кофе.
А, еще мне из конторы на фе-букву звонил рекрутер, но это была смешная беседа.
Дано:
case class HugeKludge(arg1: String, arg2: String,... arg40: Option[String] = None);
Единственный вариант использования -
val myKludge = HugeKludge(config.arg1, config.arg2,..., userData.arg20, userData.arg21, ..., arg 39)
Ну рефакторю. Добавляю параметры
config
и userData
. Ну пока что ничо.Заменяю на
case class HugeKludge(config: Config, userData: UserData, arg15, arg17,...) { val arg1 = config.arg1 val arg2 = config.arg2 ...
Все эти args в конфиге - чисто значения, без всяких там эффектов.
Не работает. Два теста рушатся, т.к. во временной директории отсутствую два промежуточных файла с данными.
Вот такой сайд-эффект. Так что режу мой рефакторинг на мелкие кусочки. Локализовал уже два параметра, с которыми фокус чота не удается.
А еще один интегрейшен-тест на мастере внезапно ебанулся; это Кшиштоф причем обнаружил, а до нас как-то не доходит. Стал расследовать. Ну там чо, там в одном месте бросаем ServerConnectionException, в другом ловим любой эксепшен и заворачиваем в ServerConnectionException, в третьем еще раз. Ну и попали, тест не понимает, тест видит, что месидж неправильный. Эксепшен же МОНАДА, ребята. Но этот мудак, Ханифи, он про монаду ничего не знает и знать не желает, он спринг любит. Хер с ним, стал это дело выравнивать под монаду.
А Кшиштоф нервничает, ему чота надо. И Джош нервничает, ему мержить надо. А куда мержить, если тесты не идут. Мы ж не в H2O, мы типа культурные.
Ладно, такие дела.
На скрамном митинге мне Томас навалял какой-то херни делать. Типа удалить такие-то файлы где-то. Или сначала посчитать, сгрупировав. Ну я типа тут хотя бы SQL знаю, дык.
Я нынче две недели в наряде, дежурный по пейджеру (засунутому сами знаете куда). Пейджер звонит, мол, слышь, на dev задержки. Ну я думаю, чо, беременные, нет? Пейджер еще говорит - пойди на сумолоджик и посмотри логи с номером джоба. Но номер джоба не говорит. Ну я там нахожу примерно по контексту. Да, уже три часа джобы не стартуют. Пишу нашим там, админам, девопсам, пусть погавкают на амазон.
В три релиз-митинг. Катя, которую недавно выдвинули в релиз-менеджеры, говорит, что теперь митинг будут вести участники. Игроки. Вот мы вот эти, дежурные по пейджерам.
Синди выступает, у нее там пара интегрейшен-тестов рушится; Синди - это смежники, и она у них в наряде. Я вижу ее стактрейс, говорю, Синди, пошли мне линк, я посмотрю, больно знакомая картина.
Потом я вкратце выступил, что у нас интегрейшен тест поломан, и релизить нам на этой неделе нечего поэтому. Ну и отличненько.
Синдину проблему посмотрел, посоветовал за решением обращаться к девопсам (там с креденшиалзами), но мессага совершенно варварская, и я переписал это дело (валяли там какой-то Гаурабх да наш Том, те еще программисты), переписал с моим классом Result, и послал Синди да Кшиштофу. А Кшиштоф этого класса не знает; рассказал ему заодно. Кшиштоф вообще слегка закипает, что у нас тесты идут по два часа на билд-машине. Я ему такой - давай менеджеров пинать, звеном повыше, потому что наши непосредственные этим делом не интересуются, им за это премию не платят, а наш Пиэм вообще по-программистски не понимает, и зачем нужны тесты, он просто не в курсе, этого нет в плане работ, чтоб тесты ускорять. Их, кстати, Индранил порядочно позамедлял (у меня там стоял ускоритель в 100 раз, но... но всех не вылечишь).
Ну так и день прошел. Что характерно, Томас порадовался моему пятничному пулреквесту, но апрувать не стал, оставил Джошу. А Джош меня долго донимал с этим монадическим эксепшеном, зачем я там мутабельность вставил.
А потому что. (Потому что я начитался SICP и Раста, и не так уж и боюсь этой самой мутабельности, в некоторых специфических случаях.)
Вот и все на сегодня.
А, у нас новый вендор в смысле еды. Кофе поганый, вода для чая поганая, но остальной хавчик образцовый. Ну шоу, конечно. Хавчик подороже они могут в первый месяц повыставлять, а в кофе они ж не разбираются. Питса уже нету. Я люблю питсовский кофе.
А, еще мне из конторы на фе-букву звонил рекрутер, но это была смешная беседа.