# Code Review Instructions ## Summary When conducting a code review, follow these steps to ensure a thorough and constructive process. **Ensure that all review guidelines are followed. If any guideline is not adhered to, make it explicitly clear which guideline needs to be followed.** ## Review Process 1. 🎯 **Key Issues** Identify critical issues in the code such as bugs, security vulnerabilities, or violations of the project's coding standards. _Include specific links to files and line numbers (e.g., file.js#L10) where applicable._ 2. 💡 **Suggestions for Improvement** Highlight areas where the code can be enhanced in terms of readability, performance, maintainability, or adherence to best practices. _Clarify what constitutes a "Critical" versus a "Minor" issue to avoid ambiguity._ 3. ✨ **Code Examples** Provide specific, concise code snippets that illustrate your suggestions. _Include both a "Before" (problematic code) and an "After" (improved version) example where beneficial._ 4. 📚 **Relevant Documentation Links** Attach links to useful resources or official documentation to support the suggested changes. _For example, link to ESLint, Jest, or Angular Style Guide pages when relevant._ ## Tone and Feedback - Be constructive and supportive. Frame suggestions as opportunities for growth rather than criticism. - Use the following emojis to categorize your feedback: - 🚨 **Critical issues** - ❗ **Minor Issues** - ⚠️ **Warnings** - 💡 **Suggestions** - ✅ **Good practices** ## Additional Informations - Missing tests and JSDocs are minor issues - Missing unit test are minor issues - Missing End-to-End (E2E) Testing Attributes (`data-what`, `data-which`) are warnings ### Review Template ````markdown # Code Review ## Summary A brief overview of the code’s overall quality, highlighting key strengths and areas needing attention. This sets the stage for the detailed feedback below. --- ## 🚨 Critical Issues High-priority issues that must be addressed immediately due to their potential to severely impact functionality, performance, or security. ### 1. High Priority: [Issue Title] #### 🚨 Issue Describe the issue clearly, including links to specific files and lines (e.g., file.js#L10). Explain why it’s critical—highlight crashes, security risks, or significant performance issues. #### 💡 Suggestions for Improvement Provide specific steps or alternative approaches to resolve the issue. #### ✨ Code Example **Current**: [file](file.js#L10) Problematic code with path to the file and line of the code ```typescript // Code... ``` **Improvement**: Improved version ```typescript // Code... ``` #### 📚 Relevant Documentation Include URLs for further research (e.g., [Jest Documentation](https://jestjs.io/docs/getting-started)). --- ## ❗ Minor Issues Issues that can improve code quality, maintainability, or adherence to best practices when resolved. ### 1. Medium Priority: [Issue Title] #### ❗ Issue Describe the issue clearly, including file and line references (e.g., file.js#L10). Explain the impact on the project. #### 💡 Suggestions for Improvement Offer concrete steps or alternative approaches to mitigate the issue. #### ✨ Code Example **Current**: [file](file.js#L10) Problematic code with path to the file and line of the code ```typescript // Code... ``` **Improvement**: Improved version ```typescript // Code... ``` #### 📚 Relevant Documentation Provide links to further resources. --- ## ⚠️ Warnings Low-priority issues or suggestions that could help prevent future problems or improve the code quality over time. ### 1. Low Priority: [Issue Title] #### ⚠️ Issue Describe the issue clearly with references (e.g., file.js#L10). Explain the potential impact if left unaddressed. #### 💡 Suggestions for Improvement Provide suggestions or alternative implementations to mitigate the issue. #### ✨ Code Example **Current**: [file](file.js#L10) Problematic code with path to the file and line of the code ```typescript // Code... ``` **Improvement**: Improved version ```typescript // Code... ``` #### 📚 Relevant Documentation Include relevant resources for more information. --- ## 🛑 Bad Practices Highlight up to five bad aspects of the code to reinforce improvements and encourage good practices. Use different funny emoji at the beginning of each bad practice. - Emoji **Bad Practice 1**: Describe a specific weakness (e.g., clear code structure) with an example reference (e.g., file.js#L20). Explain why it’s bad. - Emoji **Bad Practice 2**: Outline another negative feature (e.g., effective error handling) with a snippet reference. --- ## ✅ Good Practices Highlight up to five positive aspects of the code to reinforce well-implemented patterns and encourage good practices. Use different funny emoji at the beginning of each good practice. - Emoji **Good Practice 1**: Describe a specific strength (e.g., clear code structure) with an example reference (e.g., file.js#L20). Explain why it’s commendable. - Emoji **Good Practice 2**: Outline another positive feature (e.g., effective error handling) with a snippet reference. --- ## 📓 Additional Notes - **General Feedback**: Optional thoughts regarding the overall quality or potential areas for future improvement. - **Next Steps**: Outline follow-up actions or further examination areas as needed. ````