Skip to main content

Learning path

Code Review learning path: everything to study, topic by topic

Assessment covering code review mastery — from effective PR workflow and feedback quality to security review, architecture analysis, and performance bottleneck detection. Heavily weighted toward reviewing AI-generated code, including patterns LLMs commonly get wrong.

Short answer

To learn Code Review, work through 6 modules and 33 topics in the order they build on each other. It starts with Review Fundamentals, then moves on to Code Quality Signals and Security Review. Use the map as a checklist, or measure your level and study only what is missing.

6
modules
33
topics
45
min to assess

What you will study

Topics are grouped by module. Open one to see its objectives and key concepts.

1 · Review Fundamentals7 topics
  • What Makes a Review Effective

    Principles of an effective code review: what reviewers should focus on, the difference between style and correctness, and how to prioritize review effort.

    Objectives

    • Distinguish between correctness, design, and style concerns in a review
    • Calibrate review depth to the risk level of the change
    • Identify when a PR requires a deeper review than a first-pass scan

    Key concepts

    • review objectives
    • correctness vs. style
    • review depth calibration
    • time-boxed review
    • first-pass vs. deep review
  • PR Workflow Discipline

    PR size best practices, description requirements, review turnaround expectations, and how poor PR workflow undermines review quality.

    Objectives

    • Apply small PR discipline to common development scenarios
    • Write a PR description that enables effective review
    • Distinguish blocking from non-blocking review comments

    Key concepts

    • small PR discipline
    • PR description requirements
    • review turnaround SLA
    • blocking vs. non-blocking comments
    • PR checklists
  • Feedback That Changes Behavior

    How to write review comments that are specific, actionable, and respectful. The difference between feedback that improves code and feedback that creates conflict.

    Objectives

    • Rewrite vague or aggressive review comments as specific and constructive ones
    • Distinguish between a blocking issue and a 'nit'
    • Apply the 'question vs. demand' technique to sensitive feedback

    Key concepts

    • actionable feedback
    • specific vs. vague comments
    • tone in code review
    • nit vs. blocking
    • asking questions vs. demanding
  • Scope Calibration

    How to calibrate the scope of a review to the change — when to do a full architecture review vs. a quick sanity check, and how to avoid both under- and over-reviewing.

    Objectives

    • Apply risk-based calibration to determine review depth for a PR
    • Identify high-risk files and patterns that always warrant deeper review
    • Explain why scope creep in reviews reduces effectiveness

    Key concepts

    • risk-based review calibration
    • change surface area
    • high-risk files and patterns
    • incremental review techniques
  • Reviewer Mindset

    The mental model of an effective reviewer: thinking about future maintainers, verifying intent vs. implementation, and the reviewer's responsibility in the development process.

    Objectives

    • Apply the 'future maintainer' perspective to evaluate code quality
    • Distinguish between intent (what the code is supposed to do) and implementation
    • Articulate the reviewer's accountability when approving a PR

    Key concepts

    • reviewer as gatekeeper
    • intent vs. implementation
    • maintainability perspective
    • reviewer accountability
    • approval as professional endorsement
  • Review Culture & Psychological Safety

    Building healthy code review culture: constructive feedback frameworks, psychological safety, and reducing review anxiety

    Objectives

    • Reframe review feedback using conventional comments to separate blocking issues from suggestions
    • Design team review culture norms that reduce anxiety and increase learning

    Key concepts

    • constructive feedback
    • psychological safety
    • tone guidelines
    • conventional comments
    • review ownership
    • async vs sync reviews
    • review as mentoring
  • Code Review Metrics & Feedback Quality

    Measuring code review effectiveness: cycle time, review coverage, feedback quality metrics, and continuous improvement

    Objectives

    • Design a code review metrics dashboard that drives process improvement without perverse incentives
    • Measure feedback quality (not just coverage) as a code review health indicator

    Key concepts

    • review cycle time
    • review coverage metrics
    • feedback quality scoring
    • merge-without-review rate
    • review burden
    • DORA impact
    • review analytics
2 · Code Quality Signals6 topics
  • Code Smell Identification

    Recognizing common code smells in PRs: long methods, duplicate code, feature envy, data clumps, primitive obsession, and when they matter.

    Objectives

    • Identify at least 5 code smells in a code review context
    • Distinguish cosmetic from structural code smells
    • Apply the 'rule of three' to identify duplication worth refactoring

    Key concepts

    • long method
    • duplicate code
    • feature envy
    • data clumps
    • primitive obsession
    • dead code
    • shotgun surgery
  • Readability vs. Cleverness

    The trade-off between clever, compact code and readable, maintainable code. How AI tools tend toward over-engineered or unnecessarily complex solutions.

    Objectives

    • Apply the 'cognitive load' test to evaluate code readability
    • Identify when a 'clever' solution should be replaced with a readable one
    • Distinguish between comments that explain 'how' and 'why'

    Key concepts

    • cognitive load
    • self-documenting code
    • one-liners vs. clarity
    • magic numbers
    • comment when to, not how
  • Naming and Abstraction Review

    Reviewing variable, function, and class names for clarity and precision. Identifying poor abstractions, leaky abstractions, and naming that obscures intent.

    Objectives

    • Identify naming that does not reveal intention
    • Detect leaky abstractions in code review
    • Distinguish between naming issues and abstraction issues

    Key concepts

    • intention-revealing names
    • misleading names
    • leaky abstraction
    • abstraction level consistency
    • naming conventions
  • Cyclomatic Complexity

    Understanding and applying cyclomatic complexity in code review. Identifying high-complexity functions, deeply nested logic, and when complexity is a blocking concern.

    Objectives

    • Calculate approximate cyclomatic complexity of a function
    • Apply the guard clause pattern to reduce nesting depth
    • Identify when high complexity is a blocking review concern

    Key concepts

    • cyclomatic complexity
    • nesting depth
    • guard clauses
    • early return pattern
    • complexity threshold in review
  • Test Coverage Review

    Evaluating test coverage in PRs — identifying missing tests, tests that only test the happy path, tests that test implementation rather than behavior, and coverage metrics vs. meaningful coverage.

    Objectives

    • Identify missing test cases by analyzing the change under review
    • Distinguish between tests that verify behavior vs. tests that verify implementation
    • Apply the 'what can go wrong' test to identify missing edge case tests

    Key concepts

    • happy path vs. edge cases
    • behavior-driven tests
    • test quality vs. coverage percentage
    • missing error path tests
    • tests that test the wrong thing
  • Automated Static Analysis at Scale

    Implementing and tuning static analysis at scale: tool selection, custom rules, noise reduction, and developer workflow integration

    Objectives

    • Design a static analysis configuration that blocks critical issues without alert fatigue
    • Write a custom Semgrep rule for a project-specific anti-pattern

    Key concepts

    • static analysis tools
    • custom rules
    • false positive management
    • baseline suppression
    • pre-commit integration
    • IDE integration
    • incremental analysis
3 · Security Review6 topics
  • OWASP Top 10 in Code Review

    Identifying OWASP Top 10 vulnerabilities during code review: injection, broken auth, XSS, IDOR, security misconfiguration, and more.

    Objectives

    • Identify SQL injection vulnerabilities in PRs
    • Recognize XSS vulnerabilities in template code
    • Apply OWASP Top 10 as a review checklist

    Key concepts

    • SQL injection in PR
    • XSS in code review
    • IDOR patterns
    • security misconfiguration
    • broken access control
  • Auth/Authz Gaps in Code Review

    Finding authentication and authorization gaps in PRs: missing auth checks, privilege escalation paths, insecure direct object references, and broken access control patterns.

    Objectives

    • Identify missing authentication middleware in route definitions
    • Recognize IDOR vulnerabilities in API endpoint code
    • Apply vertical vs. horizontal privilege escalation tests to PRs

    Key concepts

    • missing auth middleware
    • IDOR patterns
    • privilege escalation
    • horizontal vs. vertical privilege
    • JWT validation gaps
  • Injection Flaws LLMs Commonly Produce

    Injection vulnerabilities that AI tools frequently generate: SQL injection via string concatenation, OS command injection, LDAP injection, and template injection. Why LLMs often produce vulnerable code.

    Objectives

    • Identify SQL injection by f-string/concatenation patterns in code review
    • Convert vulnerable code to use parameterized queries
    • Recognize OS command injection patterns in AI-generated code

    Key concepts

    • SQL injection via concatenation
    • parameterized queries
    • OS command injection
    • template injection
    • LLM injection patterns
  • Sensitive Data Leakage Patterns

    Identifying patterns that leak sensitive data in PRs: PII in logs, sensitive data in error responses, insecure data transmission, and over-exposure of sensitive fields in API responses.

    Objectives

    • Identify PII logging patterns in code review
    • Find over-exposed sensitive fields in API response serializers
    • Apply data classification thinking to code review

    Key concepts

    • PII in logs
    • sensitive data in errors
    • over-exposed API fields
    • insecure transmission
    • data classification in PR review
  • Hard-coded Secrets and Credentials

    Detecting hard-coded secrets, API keys, passwords, and credentials in PRs. Patterns that AI tools commonly produce when generating configuration or connection code.

    Objectives

    • Identify hard-coded credentials in code review
    • Recognize when AI-generated code has placed credentials in config files
    • Apply the correct remediation pattern (environment variables, secrets manager)

    Key concepts

    • hard-coded credentials
    • secrets in config files
    • environment variables
    • secrets manager patterns
    • git history exposure of secrets
  • Security-Focused Review Patterns

    Conducting security-focused code reviews: identifying injection vulnerabilities, authentication flaws, and cryptographic misuse

    Objectives

    • Apply an OWASP-aligned review checklist systematically to a security-critical PR
    • Identify cryptographic misuse patterns in code that would pass a superficial review

    Key concepts

    • SQL injection patterns
    • XSS in code review
    • authentication flaws
    • cryptographic misuse
    • deserialization risks
    • OWASP review checklist
    • security review gates
4 · Architecture & Design Review6 topics
  • SOLID Principles in Real PRs

    Identifying SOLID principle violations in actual code review contexts: SRP violations (God classes), OCP violations (massive switch statements), LSP violations, ISP violations, and DIP violations.

    Objectives

    • Identify which SOLID principle is violated in a given code example
    • Apply the SRP check to identify God classes in a PR
    • Write a SOLID-compliant refactoring suggestion for a common violation

    Key concepts

    • SRP violation
    • OCP violation
    • LSP violation
    • ISP violation
    • DIP violation
    • SOLID review checklist
  • Coupling and Cohesion Detection

    Identifying high coupling and low cohesion in PRs: feature envy, inappropriate intimacy, message chains, and how AI-generated code often has poor coupling characteristics.

    Objectives

    • Identify high-coupling patterns in a code review
    • Apply the cohesion test to evaluate whether a class has a single, clear responsibility
    • Distinguish between acceptable coupling and problematic coupling in a PR

    Key concepts

    • high coupling
    • low cohesion
    • feature envy
    • inappropriate intimacy
    • message chains
    • coupling metrics
  • API Contract Violations

    Reviewing PRs for API contract violations: breaking changes, backward incompatible modifications, incorrect status codes, inconsistent error formats, and contract testing absence.

    Objectives

    • Identify breaking API changes in a PR
    • Apply backward compatibility rules to evaluate API modifications
    • Write a review comment for a missing contract test

    Key concepts

    • breaking API changes
    • backward compatibility
    • semantic versioning
    • contract testing
    • error response contracts
  • Dependency Audit in PRs

    Reviewing new dependencies added in PRs: security vulnerabilities, license compliance, dependency bloat, and what AI tools typically add when generating code that needs libraries.

    Objectives

    • Identify dependency-related concerns when reviewing a PR
    • Apply a security and license check to new dependencies
    • Evaluate whether a new dependency is justified

    Key concepts

    • dependency security audit
    • license compliance in review
    • dependency bloat
    • pinned versions
    • transitive dependencies
  • Design Pattern Misuse

    Identifying when design patterns are used incorrectly or unnecessarily in PRs. AI tools often apply patterns (Factory, Singleton, Strategy) when they are not needed, increasing complexity without benefit.

    Objectives

    • Identify unnecessary pattern application in AI-generated code
    • Apply YAGNI to evaluate pattern usage in a PR
    • Write a review comment explaining why a pattern is inappropriate in a given context

    Key concepts

    • pattern overuse
    • Singleton antipattern
    • unnecessary Factory
    • pattern in the wrong context
    • YAGNI applied to patterns
  • Architecture-Level Code Review

    Reviewing code at the architectural level: evaluating design patterns, coupling, cohesion, and long-term maintainability

    Objectives

    • Identify architectural coupling in a PR that will create long-term maintainability issues
    • Distinguish design pattern misuse from legitimate flexibility in a code review context

    Key concepts

    • architectural coupling
    • cohesion analysis
    • design pattern fit
    • layer violations
    • domain boundaries
    • extensibility review
    • dependency inversion
5 · Performance Review4 topics
  • N+1 Query Detection

    Identifying N+1 query patterns in PRs: lazy loading in loops, missing eager loading, batching opportunities. Why AI-generated ORM code frequently produces N+1 patterns.

    Objectives

    • Identify N+1 query patterns in ORM code during review
    • Apply the eager loading solution to a detected N+1 pattern
    • Explain why AI-generated ORM code commonly produces N+1 queries

    Key concepts

    • N+1 queries
    • lazy loading in loops
    • eager loading
    • query batching
    • ORM N+1 patterns
  • Memory Leak Patterns in PRs

    Detecting memory leak patterns in code review: unclosed resources, event listener accumulation, circular references, and cache without eviction. Common patterns in AI-generated code.

    Objectives

    • Identify unclosed resource patterns in code review
    • Detect event listener accumulation in JavaScript/TypeScript PRs
    • Recognize unbounded cache patterns that cause memory growth

    Key concepts

    • unclosed resources
    • event listener leaks
    • circular references
    • unbounded caches
    • weak references
  • Sync-over-Async Mistakes

    Identifying synchronous blocking in asynchronous code during review: blocking calls in async functions, missing await, sequential awaits that should be parallel, and AI-generated code that blocks event loops.

    Objectives

    • Identify blocking calls in async functions during code review
    • Convert sequential awaits to parallel Promise.all patterns
    • Recognize event loop blocking patterns in Node.js/Python async code

    Key concepts

    • blocking in async
    • missing await
    • sequential vs. parallel await
    • event loop blocking
    • async/await anti-patterns
  • Scalability Bottlenecks in PR Context

    Identifying scalability bottlenecks during code review: missing pagination, inefficient algorithms, database lock contention, and AI-generated code that works for 100 records but breaks at 10 million.

    Objectives

    • Identify missing pagination in API endpoints during review
    • Detect O(n²) algorithm complexity in production code paths
    • Recognize database lock contention patterns in concurrent code

    Key concepts

    • missing pagination
    • O(n²) algorithms in production paths
    • database lock contention
    • missing indexes
    • horizontal scale blockers
6 · Reviewing AI-Generated Code4 topics
  • Patterns LLMs Commonly Get Wrong

    Systematic failure modes in AI-generated code: hallucinated APIs, stale security patterns (MD5, DES), over-engineered abstractions, incorrect edge case handling, and training data cutoff effects.

    Objectives

    • Identify the 5 most common LLM code failure modes
    • Recognize hallucinated API calls in AI-generated code
    • Detect stale security patterns that AI tools commonly produce

    Key concepts

    • hallucinated APIs
    • stale security patterns
    • over-engineering
    • training cutoff
    • LLM code failure taxonomy
  • Reviewer Complacency Traps

    How reviewers fall into complacency when reviewing AI-generated code: automation bias, 'it looks right' heuristics, trusting AI accuracy, and why AI code needs MORE scrutiny in some ways than human-written code.

    Objectives

    • Identify automation bias in their own review behavior
    • Apply specific countermeasures to avoid AI complacency in review
    • Explain why AI-generated code warrants different scrutiny than hand-written code

    Key concepts

    • automation bias in review
    • AI code complacency
    • rubber-stamp approval
    • look-right fallacy
    • trust calibration
  • Hybrid Review Workflow

    How to structure a review workflow for PRs that mix AI-generated and human-written code: what to check first, how to assess AI sections, and how to document the review.

    Objectives

    • Design a review workflow for a mixed AI/human PR
    • Apply an AI-specific checklist to a real PR section
    • Document an AI code review to meet audit requirements

    Key concepts

    • hybrid PR workflow
    • AI-section identification
    • AI-specific review checklist
    • intent verification
    • AI review documentation
  • When to Reject AI Suggestions Entirely

    Criteria for rejecting AI-generated code entirely rather than refactoring it: when the AI fundamentally misunderstood the requirement, when the approach is architecturally wrong, and when fixing the code would take longer than writing it correctly.

    Objectives

    • Apply the rejection vs. refactoring decision framework to an AI PR
    • Identify when an AI suggestion has fundamentally misunderstood the requirement
    • Write a review rejection comment that is clear and non-confrontational

    Key concepts

    • AI code rejection criteria
    • fundamental misunderstanding
    • architectural incompatibility
    • cost of fixing vs. rewriting
    • rejection vs. refactoring decision

Levels: Junior, Mid, Senior, and Expert

Explain it in your own words

Graded by AI · no account · 1 question

No options to guess from: you write, the AI grades against the topic's rubric and tells you what level your answer reads at.

0 / 600

Already studying Code Review?

The assessment measures topic by topic, and your plan skips what you already know.

Open to read. An account is only needed to be measured.

Frequently asked questions

Where should I start studying Code Review?

Start with Review Fundamentals: What Makes a Review Effective, PR Workflow Discipline, and Feedback That Changes Behavior. The map orders topics by what they depend on, so each one prepares the next.

How long does a full Code Review assessment take?

A full assessment of this path takes about 45 minutes. Study time depends on where you start; a diagnostic shows which topics you can skip.

Do I need an account to use this page?

No. The map, objectives and key concepts are open. You only need an account to be measured, get your gap by topic and receive a plan.