KOTLIN_ADEPT Telegram 52
Оператор RxJava, изменивший все

Недавно взялся за небольшой старый проект, в котором все еще большинство приложения было написано на RxJava, и я по всем правилам бойскаута переводил только новые куски на корутины до вчерашнего дня. Пока не пришлось столкнуться с огромной цепочкой, состоящей по меньшей мере из 15 операторов 👋

Мне всего лишь нужно было добавить одно условие в оператор onErrorResumeNext, но то, как это делается с типом Single, абсолютно не подходит для типа Maybe, а казалось бы какая разница 💁‍♂️

Тут новое поколение скажет: "Дед, ты таблетки забыл выпить, какая нафиг RxJava, какой еще Maybe"

В общем потупив минут 5, я решил, что оно того не стоит и переписал всю цепочку на корутины, а затем и весь проект... Иии... Результат того стоил!

👍 Все места, где использовались Single и Maybe стали обычными suspend функциями с последовательным кодом
👍 Эта сложная Rx цепочка вообще превратилась в цепочку котлиновских операторов над коллекцией
👍 Теперь нигде не нужно было явно переключать диспатчер
👍 А главное, что я переписал весь проект с первого раза, без единого бага 💪
👎 Без минусов, конечно, тоже не обошлось, в стандартной библиотеке Flow не всегда хватает операторов, например мне не хватило throttleFirst и interval, благо я знаю, где их искать и как написать самому, потому что с Flow кастомные операторы — это супер просто!

Так что, подводя итог, я в очередной раз убедился, что несмотря на недостатки корутин, они значительно выигрывают у RxJava в плане читаемости и простоте кода, и нужно активно переходить на них в своих проектах, если вы еще этого не сделали, иначе скоро вы не сможете найти человека, который знает, что такое Maybe в RxJava.

💬А в ваших проектах еще остался Rx?

#RxJava #Coroutines
@kotlin_adept
Please open Telegram to view this post
VIEW IN TELEGRAM
2👍26🔥101👎1



tgoop.com/kotlin_adept/52
Create:
Last Update:

Оператор RxJava, изменивший все

Недавно взялся за небольшой старый проект, в котором все еще большинство приложения было написано на RxJava, и я по всем правилам бойскаута переводил только новые куски на корутины до вчерашнего дня. Пока не пришлось столкнуться с огромной цепочкой, состоящей по меньшей мере из 15 операторов 👋

Мне всего лишь нужно было добавить одно условие в оператор onErrorResumeNext, но то, как это делается с типом Single, абсолютно не подходит для типа Maybe, а казалось бы какая разница 💁‍♂️

Тут новое поколение скажет: "Дед, ты таблетки забыл выпить, какая нафиг RxJava, какой еще Maybe"

В общем потупив минут 5, я решил, что оно того не стоит и переписал всю цепочку на корутины, а затем и весь проект... Иии... Результат того стоил!

👍 Все места, где использовались Single и Maybe стали обычными suspend функциями с последовательным кодом
👍 Эта сложная Rx цепочка вообще превратилась в цепочку котлиновских операторов над коллекцией
👍 Теперь нигде не нужно было явно переключать диспатчер
👍 А главное, что я переписал весь проект с первого раза, без единого бага 💪
👎 Без минусов, конечно, тоже не обошлось, в стандартной библиотеке Flow не всегда хватает операторов, например мне не хватило throttleFirst и interval, благо я знаю, где их искать и как написать самому, потому что с Flow кастомные операторы — это супер просто!

Так что, подводя итог, я в очередной раз убедился, что несмотря на недостатки корутин, они значительно выигрывают у RxJava в плане читаемости и простоте кода, и нужно активно переходить на них в своих проектах, если вы еще этого не сделали, иначе скоро вы не сможете найти человека, который знает, что такое Maybe в RxJava.

💬А в ваших проектах еще остался Rx?

#RxJava #Coroutines
@kotlin_adept

BY Kotlin Adept Notes


Share with your friend now:
tgoop.com/kotlin_adept/52

View MORE
Open in Telegram


Telegram News

Date: |

Telegram is a leading cloud-based instant messages platform. It became popular in recent years for its privacy, speed, voice and video quality, and other unmatched features over its main competitor Whatsapp. With the administration mulling over limiting access to doxxing groups, a prominent Telegram doxxing group apparently went on a "revenge spree." 2How to set up a Telegram channel? (A step-by-step tutorial) Click “Save” ; ZDNET RECOMMENDS
from us


Telegram Kotlin Adept Notes
FROM American