Yonatan Karp-RudinProyonatankarp.com·18 hours agoDesign Patterns - SingletonTL;DR: Ensure a class has only one instance and provide a global access point to it with the Singleton pattern, which is useful for coordinating actions across a system. Intent Ensure a class only has one instance, and provide a global point of acce...DiscussJVMKotlin
Pradip Kafleiampradip.hashnode.dev·Sep 25, 2023KOTLIN: Scope Functions 🔍In Kotlin, the scope functions are a set of functions that allow you to perform operations on an object within a specific scope. These functions are often used to simplify and enhance the readability of the code when working with objects, particularl...Discuss·41 readskotlin beginner
peternjuguna muniupeterandroid.hashnode.dev·Sep 21, 2023Implementing the Google Play In-App Update API in KotlinMobile app updates are a vital part of maintaining a great user experience and ensuring that your app stays secure and up-to-date with the latest features and bug fixes. However, getting users to update their apps can be a challenge. Google Play’s In...DiscussKotlin
Bibhuti Ranjan Sinhabibhutiranjansinha.hashnode.dev·Sep 14, 2023Coroutine behind the sceneCoroutines are a new emerging concept for modern software development. But the majority of developer concepts or we can say internal of coroutine are pretty unfamiliar. For most developers, coroutine works like magic, but there is no magic. To use co...Discusscoroutines
Yonatan Karp-RudinProyonatankarp.com·Sep 4, 2023Kotlin Code Smell 36 - Object CouplingTL;DR: Respect object boundaries: avoid coupling to data and prioritize interfaces and behavior. When you view your objects merely as data holders, you risk violating their encapsulation. Problem Information Hiding Violation Encapsulation Violat...DiscussKotlin Code Smellsclean code
Yonatan Karp-RudinProyonatankarp.com·Aug 30, 2023Kotlin Code Smell 35 - Explicit IterationTL;DR: Avoid index-based iteration. Embrace higher-order collection functions. Problem Violation of encapsulation Lack of declarativeness Solution Opt for forEach() or high-order iterators. Concealing implementation details opens up possibilit...DiscussKotlin Code Smellsclean code
amol pawarblog.softaai.com·Aug 29, 2023Demystifying System Properties in GradleGradle, a powerful build automation tool, offers a plethora of features that help streamline the development and deployment process. One of these features is system properties, which allow you to pass configuration values to your Gradle build scripts...Discussgradle
Yonatan Karp-RudinProyonatankarp.com·Aug 28, 2023Kotlin Code Smell 34 - Fragile TestsTL;DR: Steer clear of non-deterministic tests.. Problem Lack of determinism Eroding confidence Time squandered Solution Ensure that the test is fully deterministic. Eradicate any potential for unpredictable behavior. Eliminate test coupling. ...DiscussKotlin Code Smellsclean code
Yonatan Karp-RudinProyonatankarp.com·Aug 25, 2023Kotlin Code Smell 33 - CachesTL;DR - Caches discusses the problems with caching, such as coupling and maintainability, and proposes solutions like using an object mediator, testing invalidation scenarios, and modeling real-world cache metaphors. It concludes that caches should b...DiscussKotlin Code Smellsclean code
Yonatan Karp-RudinProyonatankarp.com·Aug 23, 2023Kotlin Code Smell 32 - Repeated CodeProblem Code Duplication Maintainability Don't Repeat Yourself Solution Find repeated patterns (not repeated code). Create an abstraction. Parametrize abstraction calls. Use composition and avoid inheritance. Unit test the new abstraction. ...DiscussKotlin Code Smellsclean code