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: |

Add the logo from your device. Adjust the visible area of your image. Congratulations! Now your Telegram channel has a face Click “Save”.! Done! Now you’re the proud owner of a Telegram channel. The next step is to set up and customize your channel. Find your optimal posting schedule and stick to it. The peak posting times include 8 am, 6 pm, and 8 pm on social media. Try to publish serious stuff in the morning and leave less demanding content later in the day. Users are more open to new information on workdays rather than weekends.
from us


Telegram Kotlin Adept Notes
FROM American