Files
formbricks/docs/development/standards/qa/code-reviews.mdx
Dhruwang Jariwala ee2573d128 docs: coding standards (#4770)
Co-authored-by: mintlify[bot] <109931778+mintlify[bot]@users.noreply.github.com>
Co-authored-by: Johannes <johannes@formbricks.com>
Co-authored-by: Matti Nannt <mail@matthiasnannt.com>
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
2025-02-19 18:45:13 +01:00

101 lines
3.2 KiB
Plaintext

---
title: Code Reviews
description: This document outlines our comprehensive code review process at Formbricks. We maintain high quality, consistency, and best practices within our codebase through this structured approach.
icon: eyes
---
## Initial Checks via GitHub Workflows
When a Pull Request (PR) is opened, our automated GitHub workflows perform several critical checks:
> **Note:** At Formbricks, all feature changes must be submitted through Pull Requests - direct pushes to protected branches are not allowed.
- **PR Title Validation**: Ensures clear, descriptive titles following our conventions
- **Build Verification**: Confirms that the build process completes successfully
- **Test Suite**: Runs all automated tests to catch potential regressions
- **Translation Check**: Identifies any missing translation keys
- **Linting**: Enforces our coding standards and style guidelines
These checks must pass before proceeding to manual review.
## Reviewer Assignment
Once all automated checks pass successfully:
- A team member with relevant expertise is assigned as the reviewer
- The reviewer is notified automatically through GitHub
- Priority is given based on PR urgency and complexity
## Functional Testing and UI Review
The assigned reviewer performs thorough testing:
### Functionality Testing
- Verifies that new features work as specified
- Tests edge cases and error scenarios
- Ensures proper error handling
- Checks integration with existing features
### UI Review (if applicable)
- Validates visual consistency
- Checks responsive behavior
- Ensures accessibility standards
- Reviews user interaction flows
## Feedback Process
If improvements are needed:
- Reviewers add inline comments on GitHub
- Feedback is specific and actionable
- Code suggestions are provided when helpful
- Comments follow our constructive feedback guidelines
## In-depth Code Review
Our code review process utilizes both human expertise and AI assistance:
### Manual Review
- Code structure and organization
- Design patterns and best practices
- Performance considerations
- Security implications
- Documentation completeness
### AI-Assisted Review
We leverage advanced AI tools for additional insights:
- **Code Rabbit**: Automated code analysis and suggestions
- **Sonarqube**: Code quality metrics and potential issues
## Resolution and Merge
Final steps before merging:
- All review comments must be addressed
- Required changes are implemented
- At least one reviewer approval is required
- All conversations must be resolved
- CI/CD pipeline passes again
- PR is merged into the target branch
## Best Practices
- Keep PRs focused and reasonably sized
- Respond to review comments promptly
- Use the "Request Changes" feature when necessary
- Mark conversations as resolved when addressed
- Use approve/request changes workflow appropriately
## Conclusion
Our code review process combines automated checks, manual review, and AI assistance to ensure high-quality code contributions. This multi-layered approach helps maintain code quality while promoting knowledge sharing within the team.
Remember: Code reviews are not just about finding issues—they're opportunities for learning and improving our codebase together.