Many companies actually want to start creating a common library, they are creating "Utilities" Those who want to create common libraries have typically wanted to start with daily routine functions; to gather practical, minimal, and easily usable functions in a common place. However, due to the lack of a habit of using a common repository and it not being widely accepted, this practice was not sustainable. However, the primary reason for its lack of sustainability is that as the codebase and library grow, scalability becomes increasingly challenging. This is the point where most developer teams give up.
So, what are the advantages of creating a common library?
You don't have to write the same code multiple times.
It creates a simpler development process, promoting reusability.
It provides quick adaptation for new team members.
Helps in better management of the codebase in the long run.
Establishes a more consistent codebase.
With so many beneficial effects, why couldn't it be done? Let's also examine its disadvantages.
The most significant disadvantage, and the reason for not creating a common library and repository, is that the same function's usage in multiple libraries can lead to problems, bringing up issues like dependency problems in other libraries. Additionally, a developer can inadvertently make a mistake and break everything in production. To create a common library, teams need to be very experienced and, most importantly, disciplined. Every public library should have a comprehensive testing suite; Otherwise, a wrong change could affect many areas. Each common library must have a dedicated maintenance responsible person. It is crucial to clearly define which functions are common and establish criteria; otherwise, subjective decisions can lead to chaos in the library or repository.<p>Why weren't common libraries successful? I would appreciate it if you could share your thoughts.