Skip to content

Instantly share code, notes, and snippets.

@AndrewBarfield
Last active February 27, 2026 19:37
Show Gist options
  • Select an option

  • Save AndrewBarfield/2cffb11a7e865fb1b62f4815e1add3ac to your computer and use it in GitHub Desktop.

Select an option

Save AndrewBarfield/2cffb11a7e865fb1b62f4815e1add3ac to your computer and use it in GitHub Desktop.
Reviews code changes for functionality, architecture, code quality, testing, security, style, performance, and maintainability. Use when reviewing PRs or checking code quality.
name description license metadata
code-review
Reviews code changes for functionality, architecture, code quality, testing, security, style, performance, and maintainability. Use when reviewing PRs or checking code quality.
Apache-2.0
author version
Andrew Barfield
1.0

Code Review Skill

When reviewing code, follow these steps:

Code Review Checklist

  1. Automated Pre-Check:

    • Do Continuous Integration (CI) pipelines pass?
    • Does the code compile?
    • Do automated tests pass?
    • Do linters show any problems?
    • Do static analysis tools show any problems?
  2. Functionality:

    • Does the code fulfill established requirements?
  3. Architectural Evaluation:

    • Scan and assess the overarching structure.
    • Does it adhere to structural paradigms?
    • Does it make appropriate use of established design patterns?
    • Does it have high cohesion and low coupling?
  4. Line-by-Line Inspection:

    • Review the logic, syntax, and resource management.
    • Does it strictly adhere to RAII (Resource Acquisition Is Initialization) for memory and resource handling?
    • Does it optimize time and space complexity?
    • Does it implement thread safety, avoiding race conditions, and deadlocks in concurrent execution?
    • Are error conditions handled?
  5. Test Verification:

    • Examine the accompanying unit and integration tests for coverage, edge cases, and validity.
    • Do tests evaluate expected paths and failure modes?
  6. Security:

    • Are external inputs sanitized to prevent injection vulnerabilities?
    • Are buffers safely handled to prevent overflows or undefined behavior?
  7. Style:

    • Does it follow established conventions?
  8. Performance:

    • Are there obvious inefficiencies?
  9. Maintainability:

    • Are variable and function names self-documenting?
    • Is cyclomatic complexity minimized?
    • Is there code duplication?

How to provide feedback

  • Be specific about what needs to change
  • Explain why, not just what
  • Suggest alternatives when possible
  • Write your report in a file named "code-review-report.md"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment