Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Improve DMNCompilerImpl class #1748

Open
gitgabrio opened this issue Jan 13, 2025 · 0 comments
Open

Improve DMNCompilerImpl class #1748

gitgabrio opened this issue Jan 13, 2025 · 0 comments
Assignees
Labels
area:dmn Related to DMN area:engine Related to the runtime engines type:tech-debt Things that were left behind an may harm us in the future.

Comments

@gitgabrio
Copy link

gitgabrio commented Jan 13, 2025

DMNCompilerImpl class is the core responsible of DMN model compilation, i.e. translation of model to "evaluators".

That class grown over time, and some methods became too big, missing some of the clean code principles.
At the same time, that class itself has a very limited test coverage, in isolation (its behavior is checked, indirectly, by other "integration" tests).

Scope of this ticket is to:

  1. refactor the class to adhere to clean code principles
  2. extend unit test coverage of the class.

(From https://www.geektrust.in/blog/2021/11/11/clean-code-series-part-3-clean-readable-code/)

Naming of variables, classes, methods, functions, etc. – Naming your variables, classes, and methods make a huge difference in the ability to read the code.
Keep It Simple, Stupid – Popularly known as the KISS principle, it helps in keeping the code as simple as possible so that it becomes more modular and maintainable.
Refactoring – Refactoring of code has to be a constant effort. The more often you refactor your growing code base, the cleaner it will be.
Well structured – Structuring a code is no easy task. It takes a lot of effort and experience to be able to structure your classes and methods in a way that’s more meaningful and extensible.

@baldimir @yesamer

@gitgabrio gitgabrio added area:dmn Related to DMN area:engine Related to the runtime engines type:tech-debt Things that were left behind an may harm us in the future. labels Jan 13, 2025
@gitgabrio gitgabrio self-assigned this Jan 13, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area:dmn Related to DMN area:engine Related to the runtime engines type:tech-debt Things that were left behind an may harm us in the future.
Projects
None yet
Development

No branches or pull requests

1 participant