Mar. 2nd, 2012

juan_gandhi: (Default)
Для граждан, проживающих в г.г. Пало-Альто, Сан-Хосе и прилегающих районах состоится досрочное голосование 2 марта 2012 года по адресу:

1137 San Antonio Rd., Suit B, Palo Alto, CA 94303, c 11.00 до 14.00

в помещении профилактория для ветеранов войны и труда "Golden Castle".
juan_gandhi: (Default)
val result: Option[Either[XFail, Either[XFail, Map[String, List[Any]]]]] = ...

test

Mar. 2nd, 2012 09:00 pm
juan_gandhi: (Default)
Ну что, носики уже закрутили болты?
juan_gandhi: (Default)
Я тут некоторое время назад перефакторил один api, поменяв все optional nulls на Either. Ну и там в лифтовом коде всякие джойны понаписал.

Но непривыкший к монадам коллега решил упростить, и написал слой, где всё это джойнится и сливается, и если что и случилось на сервере, то мы и не узнаем, а получим null, который в одном интересном контексте загадочно превращается в байт 0, каковой и возвращается.

Вчерась я с гордостью закоммитил все свои тесты - но на билд машине семь тестов не шло. Как утром оказалось, ровно в тот же момент, между моим слиянием и моим коммитом, коллега вставил в другой сервер ещё одну полезную проверочку, в результате которой все мои тест-кейсы должны были рушиться, но хм, они рухали не сразу, а сначала получали от сервера ответ "всё отлично!", а потом уже проверяли и таки рушились. Потому что сервер-то возвращал ошибку, но "no error layer" эту ошибку успешно забывал.

А у меня сверху ещё слой, который делает транзакцию в стиле cps, и я, не разобравшись, положился на этот "no error layer".

Ну вот, и сегодня, увидев, что там за херня, переписал всё на Either (особое затруднение вызвал вариант, где если ошибки нет, то ничего возвращать не надо - я даже хотел c [livejournal.com profile] _navi_ советоваться, шо це за монада, inverse option, но потом дошло до меня, что это просто Either[Fuckedup, Unit], ну и всё. И надо употреблять Either.rightJoin, и всё замечательно.

Ну про джойны и аппликативы это я должен завтра написать.

Profile

juan_gandhi: (Default)
Juan-Carlos Gandhi

August 2025

S M T W T F S
      12
3456789
10 11 12 13141516
17181920212223
24252627282930
31      

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Aug. 15th, 2025 12:47 am
Powered by Dreamwidth Studios