Global Coroutine scope is scary

Global Coroutine scope is scary

Overview Using suspend methods with coroutines is a new norm while using Kotlin in Android, Kotlin Native or Kotlin Multiplatform. Recently, I have been searching good libraries for the multiplatform for a pet project I am working on, and I have seen many libraries and implementations that uses GlobalScope as coroutine scope. This is a huge antipattern because using GlobalScope can lead to memory leaks. Problem with GlobalScope Though in Android, using suspend methods is fairly easy because you can just use viewModelScope because most of the heavy lifting is being done inside viewmodels....

January 29, 2022 · 3 min · SlothieSmooth
Logging for dummies

Logging for Dummies

Overview Logs are very useful while debugging an issue and finding a root cause for it. I would write tons of garbage logs lines such as “inside save image method”, “user clicked on button send” or something like “image-Id=83488131". I would delete all these stuff as soon as I know what is the issue, and ready to commit changes. But, having too much verbosity in logs is equally bad and pollutes the log cat....

November 1, 2021 · 8 min · SlothieSmooth
Naming things in codebase image

Naming things in codebase

Naming your methods and fields while programming can be hard at times, But not impossible and since, there is no concrete guideline about the naming, I made up my own. You can use these guidelines in your codebase to make the code more readable and avoid mental breakdowns for a maintenance programmer. Avoid misleading words Avoid naming your variables data, process, run, do. These words do not mean anything. Literally, any variable in your codebase can be called data, since you are ultimately doing something with data....

June 27, 2021 · 4 min · SlothieSmooth