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鈥檒l occasionally send you account related emails.

Already on GitHub? Sign in to your account

Discussing Minimal Standards for Code Contributions 馃殌 #7785

Open
6 tasks
wmontwe opened this issue Apr 24, 2024 · 0 comments
Open
6 tasks

Discussing Minimal Standards for Code Contributions 馃殌 #7785

wmontwe opened this issue Apr 24, 2024 · 0 comments
Labels
status: help wanted Issues seeking help from the community type: discussion Community discussion and ideas

Comments

@wmontwe
Copy link
Collaborator

wmontwe commented Apr 24, 2024

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

  1. 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.
  2. Testing: Contributions should include unit tests that cover new features or bug fixes. All tests must pass before contributions are considered for merging.
  3. 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.
  4. Documentation: Significant changes or additions must be accompanied by updated documentation. This includes both inline comments and external documentation, as appropriate.
  5. Commit Messages: Commit messages should be clear and follow the conventional commit format, providing a brief description of changes and referencing issues when relevant.
  6. 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.
  7. 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.
  8. 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.
  9. 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?
@wmontwe wmontwe added status: help wanted Issues seeking help from the community type: discussion Community discussion and ideas labels Apr 24, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
status: help wanted Issues seeking help from the community type: discussion Community discussion and ideas
Projects
None yet
Development

No branches or pull requests

1 participant