Code Review Rules
Guidelines for conducting effective code reviews.
File: code-review-rules.mdc
Purpose
The Code Review Rules establish standards and best practices for conducting code reviews within the project. These rules ensure thorough, constructive reviews that improve code quality while maintaining a positive team dynamic.
Key Principles
Quality Focus: Reviewing for overall quality, not just correctness
Constructive Feedback: Providing helpful, actionable suggestions
Code-Centered: Focusing on the code, not the author
Manageable Scope: Reviewing appropriately sized changes
Timeliness: Providing and responding to reviews promptly
Understanding First: Seeking to understand before suggesting changes
Detailed Contents
General Code Review Principles
Foundational principles for effective reviews:
Reviewing for quality beyond just basic correctness
Maintaining constructive and respectful communication
Focusing feedback on the code rather than the author
Reviewing manageable chunks of code (under 400 lines)
Responding to reviews promptly
Understanding the code’s purpose before suggesting changes
Providing context and rationale for feedback
Citing standards and documentation when applicable
Review Focus Areas
Key aspects to examine during code reviews:
Functionality: Correctness, edge cases, error handling, race conditions
Design: SOLID principles, modularity, interfaces, separation of concerns
Readability: Clarity, naming, comments, consistency, magic values
Performance: Optimization, efficiency, data structures, memory usage
Security: Input validation, sensitive data handling, authentication
Testing: Coverage, edge cases, maintainability, behavior validation
PR Requirements
Standards for pull requests:
Including appropriate tests
Updating documentation as needed
Passing all CI/CD checks
Maintaining reasonable size (under 400 lines when possible)
Providing clear change descriptions
Referencing related issues
Avoiding unrelated changes
Review Process
Standardized review workflow:
Author submits PR with description
Automated checks run
Reviewers examine code within defined timeframe
Authors address feedback promptly
Reviewers verify changes
Approval once all feedback is addressed
Author merges after approval
AI Agent Self-Review Guidelines
Standards for AI-generated code self-review:
Applying project-specific patterns consistently
Verifying edge case handling
Ensuring security best practices
Checking for completion of all requirements
Validating naming conventions
Verifying error handling comprehensiveness
Ensuring code follows project style
Checking performance implications
Verifying dependency management
AI-Assisted Code Reviews
Guidelines for AI involvement in code reviews:
Prioritizing critical issues
Providing specific, actionable feedback
Suggesting concrete improvements with examples
Checking for adherence to project conventions
Verifying documentation accuracy
Assessing test quality
Identifying potential edge cases
Looking for code smells and anti-patterns
Self-Review Checklist
Pre-submission verification checklist:
Compilation/execution without errors
Appropriate test coverage
Updated documentation
Removal of debug statements
Requirement completion
Adherence to coding standards
Security consideration
Static analysis
Clear PR description
Issue references
Response Guidelines
Standards for giving and receiving review feedback:
Being specific about needed changes
Explaining why changes are needed
Distinguishing between required and suggested changes
Providing positive feedback alongside criticism
Asking questions rather than making accusations
Responding to all comments
Explaining reasoning when disagreeing
Making changes promptly
Requesting clarification when needed
Rationale
The code review rules serve several essential purposes:
Quality Improvement: Catching issues early and improving code quality
Knowledge Sharing: Spreading knowledge and best practices among team members
Consistency: Ensuring consistent patterns and standards
Collaboration: Fostering productive team collaboration
Learning: Creating opportunities for mentoring and learning
By following these code review rules, teams can maintain high code quality while fostering a positive, collaborative development environment.