-
Notifications
You must be signed in to change notification settings - Fork 0
Project Maintainability Status
Evaluated with a Likert-scale (1 to 5)
Explanation: The documentation provides comprehensive coverage of the main functionalities, installation process and development guidelines for new contributors. However, it misses some troubleshouting section that is compensated with an active community.
Suggestion: Create a troubleshooting section in the website for new contributers as we faced some problems while doing the set up and, additionally, some strange behaviours while running the tests, how to update the test snapshots when there are changes in the documentation as that was not well documented.
Explanation: The code can be hard to understand due to sparse comments and lack of descriptions for many functions. For instance, addressing the prefer-optional-chain bug fix was challenging because it took considerable time to identify where to apply the fix. Multiple solutions were attempted before we finally understood the exact method needed to resolve the issue.
Suggestion:
- Detailed comments for all functions and complex logic. Use of Javadoc, for example.
- UML diagrams to illustrate complex logic.
Explanation: The source code is well-organized, making it relatively easy to navigate. However, there is some complex logic that could be improved, and the addition of code documentation would enhance its comprehensibility.
Sugestion: Add code documentation.
Explanation: The community is very supportive.There are a lot of active contributors and rapid response times. Additionally, there is a Discord group that everyone can join and ask for any kind of help.
Adding or fixing features/faults is feasible. The issues are well documented, offering a comprehensive guide to replicate problems in case of bugs. However, understanding the business logic behind certain rules can be time-consuming. Furthermore, some rules introduce complex logic and involve extensive lines of code without any code documentation. Finally, the playground tool provided a effortless way to validate the rules developments/fixes, besides the development of unit tests.