code-review-excellence
39
总安装量
21
周安装量
#9720
全站排名
安装命令
npx skills add https://github.com/awesome-skills/code-review-skill --skill code-review-excellence
Agent 安装分布
gemini-cli
14
claude-code
14
opencode
14
codex
10
antigravity
9
Skill 文档
Code Review Excellence
Transform code reviews from gatekeeping to knowledge sharing through constructive feedback, systematic analysis, and collaborative improvement.
When to Use This Skill
- Reviewing pull requests and code changes
- Establishing code review standards for teams
- Mentoring junior developers through reviews
- Conducting architecture reviews
- Creating review checklists and guidelines
- Improving team collaboration
- Reducing code review cycle time
- Maintaining code quality standards
Core Principles
1. The Review Mindset
Goals of Code Review:
- Catch bugs and edge cases
- Ensure code maintainability
- Share knowledge across team
- Enforce coding standards
- Improve design and architecture
- Build team culture
Not the Goals:
- Show off knowledge
- Nitpick formatting (use linters)
- Block progress unnecessarily
- Rewrite to your preference
2. Effective Feedback
Good Feedback is:
- Specific and actionable
- Educational, not judgmental
- Focused on the code, not the person
- Balanced (praise good work too)
- Prioritized (critical vs nice-to-have)
â Bad: "This is wrong."
â
Good: "This could cause a race condition when multiple users
access simultaneously. Consider using a mutex here."
â Bad: "Why didn't you use X pattern?"
â
Good: "Have you considered the Repository pattern? It would
make this easier to test. Here's an example: [link]"
â Bad: "Rename this variable."
â
Good: "[nit] Consider `userCount` instead of `uc` for
clarity. Not blocking if you prefer to keep it."
3. Review Scope
What to Review:
- Logic correctness and edge cases
- Security vulnerabilities
- Performance implications
- Test coverage and quality
- Error handling
- Documentation and comments
- API design and naming
- Architectural fit
What Not to Review Manually:
- Code formatting (use Prettier, Black, etc.)
- Import organization
- Linting violations
- Simple typos
Review Process
Phase 1: Context Gathering (2-3 minutes)
Before diving into code, understand:
- Read PR description and linked issue
- Check PR size (>400 lines? Ask to split)
- Review CI/CD status (tests passing?)
- Understand the business requirement
- Note any relevant architectural decisions
Phase 2: High-Level Review (5-10 minutes)
- Architecture & Design – Does the solution fit the problem?
- For significant changes, consult Architecture Review Guide
- Check: SOLID principles, coupling/cohesion, anti-patterns
- Performance Assessment – Are there performance concerns?
- For performance-critical code, consult Performance Review Guide
- Check: Algorithm complexity, N+1 queries, memory usage
- File Organization – Are new files in the right places?
- Testing Strategy – Are there tests covering edge cases?
Phase 3: Line-by-Line Review (10-20 minutes)
For each file, check:
- Logic & Correctness – Edge cases, off-by-one, null checks, race conditions
- Security – Input validation, injection risks, XSS, sensitive data
- Performance – N+1 queries, unnecessary loops, memory leaks
- Maintainability – Clear names, single responsibility, comments
Phase 4: Summary & Decision (2-3 minutes)
- Summarize key concerns
- Highlight what you liked
- Make clear decision:
- â Approve
- ð¬ Comment (minor suggestions)
- ð Request Changes (must address)
- Offer to pair if complex
Review Techniques
Technique 1: The Checklist Method
Use checklists for consistent reviews. See Security Review Guide for comprehensive security checklist.
Technique 2: The Question Approach
Instead of stating problems, ask questions:
â "This will fail if the list is empty."
â
"What happens if `items` is an empty array?"
â "You need error handling here."
â
"How should this behave if the API call fails?"
Technique 3: Suggest, Don’t Command
Use collaborative language:
â "You must change this to use async/await"
â
"Suggestion: async/await might make this more readable. What do you think?"
â "Extract this into a function"
â
"This logic appears in 3 places. Would it make sense to extract it?"
Technique 4: Differentiate Severity
Use labels to indicate priority:
- ð´
[blocking]– Must fix before merge - ð¡
[important]– Should fix, discuss if disagree - ð¢
[nit]– Nice to have, not blocking - ð¡
[suggestion]– Alternative approach to consider - ð
[learning]– Educational comment, no action needed - ð
[praise]– Good work, keep it up!
Language-Specific Guides
æ ¹æ®å®¡æ¥ç代ç è¯è¨ï¼æ¥é 对åºçè¯¦ç»æåï¼
| Language/Framework | Reference File | Key Topics |
|---|---|---|
| React | React Guide | Hooks, useEffect, React 19 Actions, RSC, Suspense, TanStack Query v5 |
| Vue 3 | Vue Guide | Composition API, ååºæ§ç³»ç», Props/Emits, Watchers, Composables |
| Rust | Rust Guide | æææ/åç¨, Unsafe 审æ¥, 弿¥ä»£ç , é误å¤ç |
| TypeScript | TypeScript Guide | ç±»åå®å ¨, async/await, ä¸å¯åæ§ |
| Python | Python Guide | å¯åé»è®¤åæ°, å¼å¸¸å¤ç, ç±»å±æ§ |
| Java | Java Guide | Java 17/21 æ°ç¹æ§, Spring Boot 3, èæçº¿ç¨, Stream/Optional |
| Go | Go Guide | é误å¤ç, goroutine/channel, context, æ¥å£è®¾è®¡ |
| C | C Guide | æé/ç¼å²åº, å åå®å ¨, UB, é误å¤ç |
| C++ | C++ Guide | RAII, çå½å¨æ, Rule of 0/3/5, å¼å¸¸å®å ¨ |
| CSS/Less/Sass | CSS Guide | åéè§è, !important, æ§è½ä¼å, ååºå¼, å ¼å®¹æ§ |
| Qt | Qt Guide | 对象模å, ä¿¡å·/æ§½, å å管ç, 线ç¨å®å ¨, æ§è½ |
Additional Resources
- Architecture Review Guide – æ¶æè®¾è®¡å®¡æ¥æåï¼SOLIDã忍¡å¼ãè¦å度ï¼
- Performance Review Guide – æ§è½å®¡æ¥æåï¼Web VitalsãN+1ãå¤æåº¦ï¼
- Common Bugs Checklist – æè¯è¨åç±»ç常è§éè¯¯æ¸ å
- Security Review Guide – å®å ¨å®¡æ¥æå
- Code Review Best Practices – 代ç å®¡æ¥æä½³å®è·µ
- PR Review Template – PR 审æ¥è¯è®ºæ¨¡æ¿
- Review Checklist – å¿«éåèæ¸ å