# Code Review Quick Reference

## What to Look For

| Area | Questions to Ask |
|------|------------------|
| Correctness | Does it work? Edge cases? Error handling? |
| Readability | Clear names? Comments explain why? Logic easy to follow? |
| Performance | Unnecessary work? Scalability concerns? |
| Security | Input validated? No secrets in code? Sensitive data handled safely? |
| Tests | New behavior covered? Regressions prevented? |

## Giving Feedback

| Do | Don't |
|----|-------|
| Be specific ("Rename `x` to `userCount`") | Be vague ("This could be better") |
| Explain why ("Prevents accidental reassignment") | Assume they know |
| Suggest alternatives | Only criticize |
| Mark nits as "nit:" | Block on style preferences |
| Respond promptly | Let PRs sit for days |

## PR Description Template

```markdown
## What
[One-line summary of the change]

## Why
[Problem being solved, ticket, compliance]

## How
[Key implementation notes, tradeoffs]

## Testing
[How you tested, what to verify]
```

## Receiving Feedback

| Do | Don't |
|----|-------|
| Assume good intent | Take it personally |
| Ask clarifying questions | Get defensive |
| Disagree with reasoning | Dismiss without discussion |
| Thank reviewers | Ignore nits rudely |

## Priority Levels

| Level | Meaning | Action |
|-------|---------|--------|
| Blocking | Must fix before merge | Address before approval |
| Should fix | Important but not blocking | Fix if quick; otherwise follow up |
| Nit | Nice to have | Optional; author decides |

## Common Anti-Patterns

| Anti-Pattern | Fix |
|--------------|-----|
| "LGTM" without reading | Actually read and verify |
| Blocking on opinions | Distinguish must vs nice-to-have |
| Delayed feedback | Review within 24h when possible |
| Dismissive tone | Be kind and professional |

## Checklist: Before Submitting PR

- [ ] Tests pass
- [ ] Description complete (What/Why/How)
- [ ] No debug logs or commented code
- [ ] Changes scoped to stated goal

## Checklist: When Reviewing

- [ ] Read description first
- [ ] Verify tests cover new behavior
- [ ] Check for regressions
- [ ] Approve or request changes promptly
