Stop Debating in Code Reviews. Start Enforcing with Lint Rules.
How to enforce architecture and best practices as unit tests with Konsist
How to enforce architecture and best practices as unit tests with Konsist
Setting up test state in one line
What do Martin Fowler, Uncle Bob, Kent Beck, and Ian Cooper say about mocks?
Testing and refactoring an MVVM app at scale
How reified type parameters will save you from “copypasta” when parsing enums
ProAndroidDev ∙ Co-authored with Lucas Cavalcante
RxJava & LiveData patterns that lead to unexpected memory leaks
Implementing and verifying safeMergeArray
How to merge streams safely following TDD
The hidden cause of UndeliverableExceptions
Learn this now or spend hours in Crashlytics later
Perry Street Software Engineering ∙ Co-authored with Eric Silverberg
Common questions and answers around the complexities of the activity lifecycle
Perry Street Software Engineering ∙ Co-authored with Eric Silverberg
Initializing your app’s database at startup — easier said than done!
ProAndroidDev ∙ Co-authored with Eric Silverberg
The missing lifecycle diagram for reactive Android Apps
Perry Street Software Engineering ∙ Co-authored with Eric Silverberg
Android process death, unexplainable NullPointerExceptions, and the MVVM lifecycle you need right now
ProAndroidDev ∙ Co-authored with Eric Silverberg
Android process death — what every mobile dev ought to know
The Startup ∙ Co-authored with Eric Silverberg