Duplicate code is the root of all evil in software design. When a system is littered with many snippets of indentical, or nearly identical code, it is indicative of sloppiness, carelessness, and sheer unprofessionalism. It is the guilt-edged responsibility of all software developers to root out and eliminate duplication whenever they find it.

Some years ago, we had only ListView and its Adapter. It had performance issues and these issues were resolved with ViewHolder Pattern (Here also I want to send my greatest appreciation to the one who found and shared this).

If we go back and recall it in detail, it is…


When the communication between Fragment and Activity matters.

Fragments and Activities are the points with which our users directly interact. As the navigation between Activities is very expensive and cause performance problems, using single activity and many fragments in it for a work-flow/user-flow has become very popular way of developing Android App nowadays.

So communicating Fragment with other…


Hi Android Fellas,

In this article, I will try to explain how we can use FragmentFactory in our project which uses Hilt as a Dependency Injection Library(visa versa).

Let’s get started:

We are familiar to do injection before onCreate method when we make use of Dagger like that:

Hilt…


In this post, I would like to demonstrate a basic producer - consumer model that uses Kotlin Flows (consumer is faster than producer).

Let’s image our example app downloads the stock-exchange or currency rates every 1 second, display them on the RecyclerView and provides us to change the calculation value…


I would like to talk about Liskov Substitution Principle in this article and share my daily work experience about it.

I want to start by stating that this is exactly what we learn about Object-Oriented Programming and what we are trying to do in our daily development life.

Do you…


In the O part of SOLID, I want to start again asserting. Now I want to assert that O is the most misunderstood design pattern and practise. Let’s understand it better in this article.

Let’s start with this definition(by Bertrand Meyer states):

software entities (classes, modules, functions, etc.) …


I want to start asserting that Single Responsibility Principle is the most important design pattern to be followed by a Developer who wants to be better Developer and a Company(company may force it to its developers) which wants to have more maintainable Product.

I would like to share my experience…


If you can’t explain it simply, you don’t understand it well enough. — Albert Einstein

What is exactly this CoroutineContext?

To give very simple question what exactly this CoroutineContext is, the first place that we should look kotlinlang.org.

It is written there:

Coroutines always execute in some context represented by a value of the CoroutineContext


In this post, I want to explain how we can make our `androidTests`with Robot Pattern more readable. In order to do this, I want to explain very shortly what the test bed is is and what Robot Pattern is, subsequently.

Test Bed:

Even Jimm Carry made advertisement of Tempur Bed, the most…


Hello Android Fellas,

Recently I have faced with this crash :

`IllegalStateException: FragmentManager is already executing transaction`.

It seemed to be strange because all of unit tests in the pipeline passes successfully and testers run smoke tests in Test and Production environments and no crash.

It is good or bad…

Ibrahim Yilmaz

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store