You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Common operators for modeling an observable (startWith, filter, map, scan)
Hot vs cold observables
Connectable observables & related operators (publish + connect, replay*, shareReplay*)
RxSwift specific “traits” (Single, Completable, Maybe, Driver) and special types (*Subject, Variable)
Bridging imperative and rx code (using *Subjects & Variables or bridging delegates)
Threading (observeOn vs subscribeOn)
Error handling (catch, retry, subscription)
Unit testing (i.e. RxTest & RxBlocking quick guide)
If we intend Rx to be a fundamental part of our projects, many of these can't just be for "the more advanced." For example, we can't expect that either (a) only the senior devs are writing unit tests for their Rx code, or (b) only the senior devs are writing Rx.
My personal feeling here is that we are probably promoting writing code in such a way that it will likely result in a more difficult time for our more junior devs, leading to more bugs, slower velocity, and decreased maintainability.
We might want to consider having our best practices include not writing complex Rx code at all.
The text was updated successfully, but these errors were encountered:
I am concerned about this bullet point:
If we intend Rx to be a fundamental part of our projects, many of these can't just be for "the more advanced." For example, we can't expect that either (a) only the senior devs are writing unit tests for their Rx code, or (b) only the senior devs are writing Rx.
My personal feeling here is that we are probably promoting writing code in such a way that it will likely result in a more difficult time for our more junior devs, leading to more bugs, slower velocity, and decreased maintainability.
We might want to consider having our best practices include not writing complex Rx code at all.
The text was updated successfully, but these errors were encountered: