To maintain a high quality of code and to streamline the review process, it is necessary to establish minimal contribution standards for this project. This will ensure that all contributions are consistent and align with the project's goals and coding practices.
Suggested Standards
Code Quality: All contributions must adhere to the specified coding guidelines of the project, which include but are not limited to naming conventions, code structure, design patterns and commenting.
Testing: Contributions should include unit tests that cover new features or bug fixes. All tests must pass before contributions are considered for merging.
UI Tests: For UI-related changes, appropriate UI tests must be included where applicable. This ensures that the visual and interactive aspects of the application function as expected across different devices and configurations.
Documentation: Significant changes or additions must be accompanied by updated documentation. This includes both inline comments and external documentation, as appropriate.
Commit Messages: Commit messages should be clear and follow the conventional commit format, providing a brief description of changes and referencing issues when relevant.
Pull Requests: Pull requests should provide a clear description of the problem and solution, including any relevant issue numbers. PRs should be limited to a single concern to simplify review and integration.
Automatable Standards: All defined standards should be easily automatable where possible. This includes code formatting, linting, and basic tests, which can be enforced through continuous integration tools to ensure compliance before review.
Review Process: All submissions must be reviewed by at least one team member before merging. This ensures oversight and quality control. Reviews of pull requests should be completed in a timely (max 2 days) manner to maintain development momentum.
Escalation Strategy for Code Review Disputes: In instances where consensus cannot be reached in code reviews, the following escalation strategy will apply:
Secondary Review: Request a secondary review from an additional team member who has not been involved in the original discussion.
Technical Lead Involvement: If disagreement persists, the issue should be escalated to the technical lead or project manager for final arbitration.
Documentation of Dispute: All dispute discussions and resolutions should be documented for future reference and to aid in refining future guidelines.
Action Items:
[ ] Develop a detailed document outlining our coding standards and expectations.
[ ] Create a checklist for contributors to follow when submitting pull requests.
[ ] Draft a document outlining the process for reviewing and merging contributions.
[ ] Integrate automated tools for code formatting and linting to enforce these standards.
[ ] Set clear expectations for the timeliness of peer reviews.
[ ] Define and document the escalation process for resolving code review disputes.
Discussion Points:
What specific coding conventions do we want to enforce?
Are there any specific requirements for tests that contributors should follow?
How do we want to handle documentation for small versus large changes?
Description
To maintain a high quality of code and to streamline the review process, it is necessary to establish minimal contribution standards for this project. This will ensure that all contributions are consistent and align with the project's goals and coding practices.
Suggested Standards
Action Items:
Discussion Points: