Утром понял, что хватит уже жить по законам, данным Адамом и Евой. Сидит там кейс в джире, Марко его навалял, типа два пойнта, так это два пойнта, чтобы прототип накатать; он не различает, прототип или production grade, но я-то различаю.
А, еще, пока шли с поезда, рассуждали с Джейд, и она поделилась проблемой - ей надо иметь дело с хитрыми то ли конфигами, то ли джейсонами, для сериализации вполне динамичных моделей; как там вообще все эти проперти хранить... а я ей такой - а у меня есть решение, мой класс
И короче, уже после завтрака я перетащил мои пропсы из скалакитензов в наш гитхаб, поменял зависимость от specs2 на scalatest, выкинул лишнее, погонял, и послал ей пулреквест. Но это потом было. В доке добавил еще линк на мои слайды. Ну и вот, но, возвращаясь к баранам.
За завтраком нарезал этот кейс-прототип на четыре; закрыл другой кейс, но обещал продолжить (на самом деле нарисовал кейс, мол, надо тестовое покрытие улучшить).
Четыре - это вот:
- написать принципиальное и универсальное решение для retries, с полным тестовым покрытием;
- заменить имеющееся этим новым;
- закрыть тот оригинальный кейс, решив вопросы с юзкейсами;
- заменить адхоки в несколькоих классах этим самым ретраем.
Ну потом был небольшой митинг, все это быстро прошуршали и разбежались. А я занялся делом, в том смысле, что дрим читал, фесбук; потом пошел кино смотреть (сегодня 5/4, и у нас в столовке гонят на больших экранах весь сериал, весь этот детский сад с чубаками, роботами, дрынами и дронами, принцессами и пилотами); ну а в бекграунде крутилось. Потому что в стартапчике в нашем я все это писал; ретрай у меня выглядел как
Но я решил не выпендриваться.
Главное, однако, что я решил - это выкинуть из этого небольшого класса все зависимости - от всяких монад, эффектов, фьючерсов. Это все внешнее; хотите - заверните.
И когда я фьючерсы оттуда вытащил (концептуально, пока кефир ел на кухне), мне полегчало, и я пошел валять код. Т.к. ужина у нас на работе сегодня не было, то можно сидеть до 5:35 (поезд в 5:43).
Поразглядывал еще боевой Лиин велик - в глине весь; тормоза дисковые; на колесе какой-то генератор текста (типа когда едешь), там какой-нибудь разбери зафигачен, что ли.
Ну и все. Домой ехал, в поезде работал. Домой приехал, добил коммит (тестов понапихал еще), но пулреквест не стал рисовать. А вместо этого завел беседу в слаке с Марко - про категории, монады, алгебраическую геометрию, кольца, идеалы, многообразия, автоматы, выражаемые через полукольца, тропические не знаю что... Главное, я стараюсь его как-то направить на более, что ли, здоровый образ мысли в смысле кода. Нахера мне эти монады в классе, если все, что я с ними делаю - это вызываю pure и потом map?
Ну да ладно.
А, еще, пока шли с поезда, рассуждали с Джейд, и она поделилась проблемой - ей надо иметь дело с хитрыми то ли конфигами, то ли джейсонами, для сериализации вполне динамичных моделей; как там вообще все эти проперти хранить... а я ей такой - а у меня есть решение, мой класс
Props
И короче, уже после завтрака я перетащил мои пропсы из скалакитензов в наш гитхаб, поменял зависимость от specs2 на scalatest, выкинул лишнее, погонял, и послал ей пулреквест. Но это потом было. В доке добавил еще линк на мои слайды. Ну и вот, но, возвращаясь к баранам.
За завтраком нарезал этот кейс-прототип на четыре; закрыл другой кейс, но обещал продолжить (на самом деле нарисовал кейс, мол, надо тестовое покрытие улучшить).
Четыре - это вот:
- написать принципиальное и универсальное решение для retries, с полным тестовым покрытием;
- заменить имеющееся этим новым;
- закрыть тот оригинальный кейс, решив вопросы с юзкейсами;
- заменить адхоки в несколькоих классах этим самым ретраем.
Ну потом был небольшой митинг, все это быстро прошуршали и разбежались. А я занялся делом, в том смысле, что дрим читал, фесбук; потом пошел кино смотреть (сегодня 5/4, и у нас в столовке гонят на больших экранах весь сериал, весь этот детский сад с чубаками, роботами, дрынами и дронами, принцессами и пилотами); ну а в бекграунде крутилось. Потому что в стартапчике в нашем я все это писал; ретрай у меня выглядел как
1 to maxRetries foreach { doSomething } find { _.isFinal }
Но я решил не выпендриваться.
Главное, однако, что я решил - это выкинуть из этого небольшого класса все зависимости - от всяких монад, эффектов, фьючерсов. Это все внешнее; хотите - заверните.
Future(retry(operation))
И когда я фьючерсы оттуда вытащил (концептуально, пока кефир ел на кухне), мне полегчало, и я пошел валять код. Т.к. ужина у нас на работе сегодня не было, то можно сидеть до 5:35 (поезд в 5:43).
Поразглядывал еще боевой Лиин велик - в глине весь; тормоза дисковые; на колесе какой-то генератор текста (типа когда едешь), там какой-нибудь разбери зафигачен, что ли.
Ну и все. Домой ехал, в поезде работал. Домой приехал, добил коммит (тестов понапихал еще), но пулреквест не стал рисовать. А вместо этого завел беседу в слаке с Марко - про категории, монады, алгебраическую геометрию, кольца, идеалы, многообразия, автоматы, выражаемые через полукольца, тропические не знаю что... Главное, я стараюсь его как-то направить на более, что ли, здоровый образ мысли в смысле кода. Нахера мне эти монады в классе, если все, что я с ними делаю - это вызываю pure и потом map?
Ну да ладно.