Files
ISA-Frontend/.github/review-instructions.md
Lorenz Hilpert 2a8a929fd7 📚 Update code review instructions for clarity
Enhanced the code review guidelines to improve clarity and effectiveness.

- 📚 **Docs**: Expanded review process steps with detailed explanations
- 📚 **Docs**: Added a review template for structured feedback
- 📚 **Docs**: Clarified the use of emojis for categorizing feedback
2025-03-31 17:28:52 +02:00

4.6 KiB
Raw Blame History

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

  • Treat missing tests and JSDocs as warnings

Review Template

# Code Review

## Summary

A brief overview of the codes 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 its critical—highlight crashes, security risks, or significant performance issues.

#### 💡 Suggestions for Improvement

Provide specific steps or alternative approaches to resolve the issue.

#### ✨ Code Example

```typescript
// Before: Problematic code
// After: Improved version
```

#### 📚 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

```typescript
// Before: Problematic code
// After: Improved version
```

#### 📚 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

```typescript
// Before: Problematic code
// After: Improved version
```

#### 📚 Relevant Documentation

Include relevant resources for more information.

---

## ✅ Good Practices

Highlight positive aspects of the code to reinforce well-implemented patterns and encourage good practices. Use 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 its commendable.
- Emoji **Good Practice 2**:  
   Outline another positive feature (e.g., effective error handling) with a snippet reference.
- Emoji **Good Practice 3**:  
   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.