Skip to main content

Posts

Showing posts from November 2, 2022

Designed a mini business rule engine, here is how

Greetings! When you are a passionate developer, you will always try to do better things, and experiments with new things. In this article, I will explain how we achieved a complex code cleanup by creating a mini business rule engine. Why is it? There is business logic depends on each other due to business behavior, mainly due to years of development. The business knowledge of the behavior is missing. Problem statement This legacy module has been developed a long ago and new codes are also a copy of those codes. I see numerous issues there. Business knowledge is missing (Logic is hidden everywhere) Unmanageable codes due to years of development Complex logic The main APIs (multiple) depend on this Two domains are coupled New joiners cannot understand the domain Error-prone due to fragile codes How to approach As there are higher-priority tickets in the backlog, it is difficult to prioritize this kind of work as it