2025 Code Review Quality

The Rubber Stamp Problem 2025

90% of massive PRs ship without review in 2025—up from 83% in 2024. Large PRs get 20x less scrutiny.

90%

No Review

for 1000+ line PRs

Based on 802,979 merged PRs | GitHub Archive / BigQuery | October 2025

The Numbers Got Worse

In 2024, we found that 83% of massive PRs (1000+ lines) shipped without any formal code review. That was already alarming. In 2025, it's now 90%—a 7.7 percentage point increase.

2024

83%

no review (1000+ lines)

2025

90%

no review (1000+ lines)

Massive PRs Without Review: Year-over-Year

2024202575%80%85%90%95%

Review Rates by PR Size

The pattern is consistent across all size buckets: the bigger the PR, the less likely it is to receive any review. But the problem is most severe at the top.

% of PRs Without Any Code Review

0%25%50%75%100%<1010-5050-200200-500500-1K1000+
PR SizePRs AnalyzedNo Review %Avg Comments
Tiny (<10 lines)214,83085.8%0.03
Small (10-50)163,08884.2%0.15
Medium (50-200)151,47284.7%0.4
Large (200-500)93,46784.6%0.68
XL (500-1000)55,94885.1%0.94
Massive (1000+)109,36187%1.17

"90% of 1000+ line PRs ship without any code review—up from 83% last year. The rubber stamp problem is getting worse."

The 20x Scrutiny Gap

0.98 commentsTiny PRs (<10 lines)20xless scrutiny0.05Massive PRs (1000+)Review comments per 100 lines of code

Even when large PRs do get reviewed, they receive far less attention per line of code. Tiny PRs receive 0.98 review comments per 100 lines. Massive PRs? Just 0.05. That's a 20x drop in scrutiny.

Review Comments per 100 Lines of Code

<1010-5050-200200-500500-1K1000+00.30.60.91.2

Tiny PRs (<10 lines)

0.98

comments per 100 lines

Massive PRs (1000+ lines)

0.05

comments per 100 lines

Why Large PRs Get Rubber-Stamped

The phenomenon isn't surprising when you consider human psychology. Reviewing code requires sustained attention and mental effort. Large PRs trigger avoidance behaviors that lead to rubber-stamping.

Cognitive Overload

Studies show attention declines sharply after 200-400 lines. Beyond that, reviewers shift from "finding issues" to "getting through it."

Time Pressure

A 1000-line PR might take hours to review properly. Busy engineers often approve quickly to unblock the author and move on with their own work.

Context Loss

Large PRs often touch many files. Reviewers lose the mental model of how pieces connect, making it harder to spot subtle bugs or design issues.

Trust Assumptions

"If they submitted this much code, they probably tested it thoroughly." Ironically, larger changes are more likely to contain bugs.

"Large PRs receive 20x fewer review comments per line of code. The biggest changes get the least attention."

Large PRs Also Ship Slower

Despite getting less scrutiny, large PRs still take longer to merge. The worst of both worlds: less review quality and slower cycle times.

PR SizePRsMedian Merge TimeAvg Merge Time
Tiny (<10 lines)62,73513h63.2h
Small (10-50)46,76816h60.8h
Medium (50-200)38,23719h67.0h
Large (200-500)22,79520h72.0h
XL (500-1000)13,12622h78.2h
Massive (1000+)24,03122h81.4h

🔥 Our Take

Small PRs aren't just a nice-to-have—they're the only way to get real code review.

The data is unambiguous: 90% of massive PRs ship without any review, and even when they do get reviewed, they receive 20x less scrutiny per line. The rubber stamp problem isn't a process failure—it's human nature. You can't train people to review 1000+ line PRs effectively.

The solution is structural: Set hard limits on PR size. Break large changes into stacked diffs. Treat 400+ line PRs as red flags that need special handling, not business as usual.

What Teams Can Do

Set PR Size Limits

Enforce soft limits (warnings at 400 lines) and hard limits (block at 800 lines). Use GitHub Actions or merge queue rules to automatically flag oversized PRs.

Use Stacked Diffs

Break large changes into a chain of small, reviewable PRs. Tools like Graphite, gh-stack, and spr make this workflow manageable.

Scale Reviewers with Size

When large PRs are unavoidable, require multiple reviewers. Use CODEOWNERS files to automatically request appropriate domain experts.

Separate Mechanical Changes

Renames, formatting, and dependency updates should be separate PRs that can be reviewed quickly. Don't mix them with feature work.

Related Research

Methodology

This analysis is based on 802,979 merged pull requests from GitHub Archive / BigQuery during October 2025. "No review" means no formal code review event was recorded. PRs were bucketed by total lines changed (additions + deletions). Review comments per 100 lines is calculated as (total review comments / total lines) * 100. For full methodology, see the complete study.

See your team's PR size distribution

CodePulse shows you which PRs are getting rubber-stamped in your repos.