Context for WIP PR #205: modularization, tests, fan profiles, localization and RGB cleanup #206
scherenhaenden
started this conversation in
Ideas
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Hi everyone,
I wanted to open a separate discussion to give more context around the WIP pull request I opened here:
#205
I know the PR is currently quite large, so I want to explain the intention behind it clearly.
Why I started with code structure
The first thing I tried to do was make parts of the codebase easier to understand and work with. Some files, especially the dashboard code-behind, had grown very large and were difficult to navigate safely.
So I started by modularizing that code into smaller files grouped by responsibility:
The goal was not to change behavior for the sake of changing behavior. The goal was to make the project easier to review, maintain, and extend.
Why I added tests
I also added an NUnit test project because I think that becomes important once the code starts changing more often.
The tests are still limited, but they cover some of the new model/storage/helper logic, including:
My intention here is practical: I want some reliability while making changes, so maintainers and contributors do not have to worry as much that every small adjustment might silently break something.
What else changed
The PR also includes several feature and cleanup areas:
The comments were added because I wanted the changed code to be easier to review and follow, especially for people who did not write it originally.
Important note: this is WIP
The PR is not meant to be merged immediately as-is.
There are still things that need review, cleanup, and hardware validation. I marked it as WIP because I do not want to give the impression that everything is finished or fully validated.
Some areas I know still need attention:
.ideaworkspace file should be removed from the PRAbout my availability
My time is limited, but I am trying to help however I can.
I opened this discussion because I do not want to just throw a large PR over the wall. I would prefer to coordinate with maintainers and users, understand what parts are useful, what parts should be changed, and what should maybe be split or postponed.
I am happy to adjust the PR based on feedback.
In particular, I would appreciate guidance on:
Thanks for taking the time to read this, and thanks again for the work on DAMX. I am trying to contribute in a way that is useful to the project, even if I cannot work on it full-time.
All reactions