-
Notifications
You must be signed in to change notification settings - Fork 273
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
Refactor Potential Implementation and Design Smells #2733
Comments
Hey @snehit221! 👋 Improvements to code quality and reducing code smells is welcome! With any refactor, consider focusing any given PR on a single type of refactor/smell at a time, and applying it module by module if possible.
Is there a specific section of code you believe needs to be extracted?
Again are there particular sections where you've found names which are confusing or incorrect?
If there are good abstractions they can certainly be applied.
This is a general list of code smells. |
Hi @ChristianMurphy, Thanks for your valuable inputs and guidance. I went ahead and used tools such as Designite and SonarQube, which gave me some clues about possible refactoring. I have created two pull requests, where each commit shows the type of refactoring I applied to improve code maintainability. I have tried to keep each commit relatively simple from my end. My primary goal was to apply these implementation and design level refactoring as a starter, so the the code base can be more flexible, maintainable and closely follows SOLID design. |
Problem
This pull request will use strategic refactoring techniques in the uPortal open-source project to enhance code readability, maintainability, and extensibility.
Solution
These refactorings aim to elevate the quality of the uPortal codebase, making it more maintainable, understandable, and extensible for both current and future contributors.
I have tried my best to apply the below refactoring techniques: (each commit will depict that technique in my PR)
To cater Implementations smells
To cater Design Smells:
Alternatives
There can be multiple design choices made to make the code more maintainable. Due to trade-offs and complexity, I have not YET used the extract class refactoring yet. There are some monster classes which demonstrate insufficient modularization. Currently, I have used a few of the refactoring as answered above.
The text was updated successfully, but these errors were encountered: