@tinkcarlos/skillora 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (234) hide show
  1. package/.claude/skills/.temp-skill-index.md +245 -0
  2. package/.claude/skills/SKILL.md +264 -0
  3. package/.claude/skills/api-scaffolding/SKILL.md +431 -0
  4. package/.claude/skills/api-scaffolding/agents/backend-architect.md +282 -0
  5. package/.claude/skills/api-scaffolding/agents/django-pro.md +144 -0
  6. package/.claude/skills/api-scaffolding/agents/fastapi-pro.md +156 -0
  7. package/.claude/skills/api-scaffolding/agents/graphql-architect.md +146 -0
  8. package/.claude/skills/api-scaffolding/skills/fastapi-templates/SKILL.md +171 -0
  9. package/.claude/skills/api-testing-observability/SKILL.md +583 -0
  10. package/.claude/skills/api-testing-observability/agents/api-documenter.md +146 -0
  11. package/.claude/skills/api-testing-observability/commands/api-mock.md +1320 -0
  12. package/.claude/skills/brainstorming/SKILL.md +283 -0
  13. package/.claude/skills/bug-fixing/SKILL.md +382 -0
  14. package/.claude/skills/bug-fixing/references/backend-guide.md +132 -0
  15. package/.claude/skills/bug-fixing/references/bug-guide.md +354 -0
  16. package/.claude/skills/bug-fixing/references/bug-record-template.md +134 -0
  17. package/.claude/skills/bug-fixing/references/bug-records.md +88 -0
  18. package/.claude/skills/bug-fixing/references/code-review-gate.md +81 -0
  19. package/.claude/skills/bug-fixing/references/common-bugs.md +140 -0
  20. package/.claude/skills/bug-fixing/references/complete-workflow.md +361 -0
  21. package/.claude/skills/bug-fixing/references/config-driven-fixes.md +136 -0
  22. package/.claude/skills/bug-fixing/references/context-isolation-protocol.md +268 -0
  23. package/.claude/skills/bug-fixing/references/cross-surface-regression.md +120 -0
  24. package/.claude/skills/bug-fixing/references/database-investigation.md +129 -0
  25. package/.claude/skills/bug-fixing/references/dependency-and-integrity-protocol.md +369 -0
  26. package/.claude/skills/bug-fixing/references/fix-completeness-checklist.md +239 -0
  27. package/.claude/skills/bug-fixing/references/frontend-guide.md +219 -0
  28. package/.claude/skills/bug-fixing/references/fullstack-joint-guide.md +123 -0
  29. package/.claude/skills/bug-fixing/references/functional-breakage.md +117 -0
  30. package/.claude/skills/bug-fixing/references/ide-lint-errors-guide.md +176 -0
  31. package/.claude/skills/bug-fixing/references/impact-analysis.md +511 -0
  32. package/.claude/skills/bug-fixing/references/investigation-checklist.md +263 -0
  33. package/.claude/skills/bug-fixing/references/knowledge-extraction-guide.md +531 -0
  34. package/.claude/skills/bug-fixing/references/knowledge-workflow.md +212 -0
  35. package/.claude/skills/bug-fixing/references/post-edit-quality-gate.md +30 -0
  36. package/.claude/skills/bug-fixing/references/python-env-and-testing.md +126 -0
  37. package/.claude/skills/bug-fixing/references/rca-guide.md +428 -0
  38. package/.claude/skills/bug-fixing/references/similar-bug-patterns.md +113 -0
  39. package/.claude/skills/bug-fixing/references/skill-delegation-guide.md +350 -0
  40. package/.claude/skills/bug-fixing/references/skill-orchestration.md +155 -0
  41. package/.claude/skills/bug-fixing/references/testing-strategy.md +350 -0
  42. package/.claude/skills/bug-fixing/references/tooling-build-scripts.md +162 -0
  43. package/.claude/skills/bug-fixing/references/user-input-validation.md +77 -0
  44. package/.claude/skills/bug-fixing/references/ux-patterns.md +158 -0
  45. package/.claude/skills/bug-fixing/references/windows-terminal-hygiene.md +106 -0
  46. package/.claude/skills/bug-fixing/references/zero-regression-matrix.md +239 -0
  47. package/.claude/skills/bug-fixing/references/zero-risk-protocol.md +102 -0
  48. package/.claude/skills/bug-fixing/scripts/format_code.py +611 -0
  49. package/.claude/skills/bug-fixing/scripts/generate_report_template.py +74 -0
  50. package/.claude/skills/bug-fixing/scripts/lint_check.py +816 -0
  51. package/.claude/skills/bug-fixing/scripts/requirements.txt +36 -0
  52. package/.claude/skills/cicd-pipeline/SKILL.md +300 -0
  53. package/.claude/skills/code-review/SKILL.md +535 -0
  54. package/.claude/skills/code-review/references/anti-pattern-scan.md +102 -0
  55. package/.claude/skills/code-review/references/automated-analysis.md +456 -0
  56. package/.claude/skills/code-review/references/backend-common-issues.md +589 -0
  57. package/.claude/skills/code-review/references/backend-expert-guide.md +415 -0
  58. package/.claude/skills/code-review/references/backend-review.md +868 -0
  59. package/.claude/skills/code-review/references/batch-processing-strategy.md +198 -0
  60. package/.claude/skills/code-review/references/call-chain-analysis-protocol.md +166 -0
  61. package/.claude/skills/code-review/references/common-patterns.md +321 -0
  62. package/.claude/skills/code-review/references/configuration-review.md +425 -0
  63. package/.claude/skills/code-review/references/control-flow-completeness.md +114 -0
  64. package/.claude/skills/code-review/references/database-review.md +298 -0
  65. package/.claude/skills/code-review/references/dependency-and-integrity-protocol.md +313 -0
  66. package/.claude/skills/code-review/references/external-standards.md +51 -0
  67. package/.claude/skills/code-review/references/feature-review.md +329 -0
  68. package/.claude/skills/code-review/references/file-review-template.md +326 -0
  69. package/.claude/skills/code-review/references/frontend-advanced.md +654 -0
  70. package/.claude/skills/code-review/references/frontend-common-issues.md +482 -0
  71. package/.claude/skills/code-review/references/frontend-expert-guide.md +342 -0
  72. package/.claude/skills/code-review/references/frontend-review.md +783 -0
  73. package/.claude/skills/code-review/references/fullstack-consistency.md +418 -0
  74. package/.claude/skills/code-review/references/fullstack-review.md +477 -0
  75. package/.claude/skills/code-review/references/functional-completeness.md +386 -0
  76. package/.claude/skills/code-review/references/hidden-bugs-detection.md +473 -0
  77. package/.claude/skills/code-review/references/ide-lint-errors-guide.md +173 -0
  78. package/.claude/skills/code-review/references/infrastructure-review.md +453 -0
  79. package/.claude/skills/code-review/references/iteration-review.md +264 -0
  80. package/.claude/skills/code-review/references/job-review.md +335 -0
  81. package/.claude/skills/code-review/references/layered-checklist-protocol.md +157 -0
  82. package/.claude/skills/code-review/references/logic-completeness.md +535 -0
  83. package/.claude/skills/code-review/references/mandatory-checklist.md +288 -0
  84. package/.claude/skills/code-review/references/multi-language-guide.md +800 -0
  85. package/.claude/skills/code-review/references/new-project-review.md +226 -0
  86. package/.claude/skills/code-review/references/non-code-files-review.md +451 -0
  87. package/.claude/skills/code-review/references/overlooked-issues.md +657 -0
  88. package/.claude/skills/code-review/references/platform-specific-review.md +195 -0
  89. package/.claude/skills/code-review/references/precision-analysis-protocol.md +260 -0
  90. package/.claude/skills/code-review/references/python-patterns.md +494 -0
  91. package/.claude/skills/code-review/references/rca-techniques.md +362 -0
  92. package/.claude/skills/code-review/references/report-template.md +430 -0
  93. package/.claude/skills/code-review/references/resource-limits-and-degradation.md +137 -0
  94. package/.claude/skills/code-review/references/review-dimensions.md +311 -0
  95. package/.claude/skills/code-review/references/review-guide.md +202 -0
  96. package/.claude/skills/code-review/references/review-knowledge-workflow.md +257 -0
  97. package/.claude/skills/code-review/references/review-progress-tracker-protocol.md +172 -0
  98. package/.claude/skills/code-review/references/review-record-template.md +195 -0
  99. package/.claude/skills/code-review/references/skill-orchestration.md +143 -0
  100. package/.claude/skills/code-review/references/ui-ux-review.md +470 -0
  101. package/.claude/skills/containerization/SKILL.md +313 -0
  102. package/.claude/skills/database-migrations/agents/database-admin.md +142 -0
  103. package/.claude/skills/database-migrations/agents/database-optimizer.md +144 -0
  104. package/.claude/skills/database-migrations/commands/migration-observability.md +408 -0
  105. package/.claude/skills/database-migrations/commands/sql-migrations.md +492 -0
  106. package/.claude/skills/finishing-a-development-branch/SKILL.md +319 -0
  107. package/.claude/skills/frontend-design/LICENSE.txt +177 -0
  108. package/.claude/skills/frontend-design/SKILL.md +587 -0
  109. package/.claude/skills/frontend-design/references/color-consistency.md +487 -0
  110. package/.claude/skills/frontend-design/references/color-palettes-full.md +657 -0
  111. package/.claude/skills/frontend-design/references/design-system-generator.md +285 -0
  112. package/.claude/skills/frontend-design/references/font-pairings-full.md +705 -0
  113. package/.claude/skills/frontend-design/references/industry-anti-patterns.md +281 -0
  114. package/.claude/skills/frontend-design/references/layout-anti-patterns.md +582 -0
  115. package/.claude/skills/frontend-design/references/motion-patterns.md +659 -0
  116. package/.claude/skills/frontend-design/references/pre-delivery-checklist.md +153 -0
  117. package/.claude/skills/frontend-design/references/responsive-design.md +555 -0
  118. package/.claude/skills/frontend-design/references/style-modification-rules.md +335 -0
  119. package/.claude/skills/frontend-design/references/ui-styles-full.md +383 -0
  120. package/.claude/skills/frontend-design/references/ui-styles-rating.md +191 -0
  121. package/.claude/skills/frontend-design/references/ux-guidelines.md +640 -0
  122. package/.claude/skills/fullstack-developer/SKILL.md +512 -0
  123. package/.claude/skills/fullstack-developer/references/api-contract-guide.md +312 -0
  124. package/.claude/skills/fullstack-developer/references/api-response-patterns.md +223 -0
  125. package/.claude/skills/fullstack-developer/references/async-patterns.md +220 -0
  126. package/.claude/skills/fullstack-developer/references/bug-prevention.md +914 -0
  127. package/.claude/skills/fullstack-developer/references/code-quality-checklist.md +271 -0
  128. package/.claude/skills/fullstack-developer/references/complete-development-workflow.md +278 -0
  129. package/.claude/skills/fullstack-developer/references/context-isolation-protocol.md +256 -0
  130. package/.claude/skills/fullstack-developer/references/database-migration.md +331 -0
  131. package/.claude/skills/fullstack-developer/references/dependency-and-integrity-protocol.md +390 -0
  132. package/.claude/skills/fullstack-developer/references/development-phases.md +333 -0
  133. package/.claude/skills/fullstack-developer/references/expert-guide.md +214 -0
  134. package/.claude/skills/fullstack-developer/references/file-import-patterns.md +114 -0
  135. package/.claude/skills/fullstack-developer/references/graceful-degradation-patterns.md +78 -0
  136. package/.claude/skills/fullstack-developer/references/ide-lint-errors-guide.md +183 -0
  137. package/.claude/skills/fullstack-developer/references/integration-testing.md +301 -0
  138. package/.claude/skills/fullstack-developer/references/mock-api-patterns.md +307 -0
  139. package/.claude/skills/fullstack-developer/references/phase-gate-template.md +249 -0
  140. package/.claude/skills/fullstack-developer/references/post-edit-quality-gate.md +30 -0
  141. package/.claude/skills/fullstack-developer/references/python-engineering.md +79 -0
  142. package/.claude/skills/fullstack-developer/references/skill-orchestration.md +214 -0
  143. package/.claude/skills/fullstack-developer/references/skill-router-table.md +304 -0
  144. package/.claude/skills/fullstack-developer/references/state-sync.md +217 -0
  145. package/.claude/skills/fullstack-developer/references/ui-testing-checklist.md +292 -0
  146. package/.claude/skills/fullstack-developer/scripts/format_code.py +611 -0
  147. package/.claude/skills/fullstack-developer/scripts/lint_check.py +816 -0
  148. package/.claude/skills/fullstack-developer/scripts/requirements.txt +36 -0
  149. package/.claude/skills/performance-optimization/SKILL.md +250 -0
  150. package/.claude/skills/product-requirements/SKILL.md +357 -0
  151. package/.claude/skills/product-requirements/references/acceptance-criteria.md +335 -0
  152. package/.claude/skills/product-requirements/references/answer-first-questioning-protocol.md +299 -0
  153. package/.claude/skills/product-requirements/references/competitive-analysis-guide.md +183 -0
  154. package/.claude/skills/product-requirements/references/document-accuracy-protocol.md +253 -0
  155. package/.claude/skills/product-requirements/references/document-management-protocol.md +278 -0
  156. package/.claude/skills/product-requirements/references/external-standards.md +62 -0
  157. package/.claude/skills/product-requirements/references/feature-spec-template.md +359 -0
  158. package/.claude/skills/product-requirements/references/knowledge-acquisition-protocol.md +251 -0
  159. package/.claude/skills/product-requirements/references/plan-execution-protocol.md +334 -0
  160. package/.claude/skills/product-requirements/references/plan-generation-protocol.md +264 -0
  161. package/.claude/skills/product-requirements/references/prioritization-frameworks.md +80 -0
  162. package/.claude/skills/product-requirements/references/requirement-decomposition-protocol.md +291 -0
  163. package/.claude/skills/product-requirements/references/user-story-examples.md +297 -0
  164. package/.claude/skills/product-requirements/references/workflow-templates.md +266 -0
  165. package/.claude/skills/react-best-practices/SKILL.md +198 -0
  166. package/.claude/skills/react-best-practices/references/advanced-patterns.md +94 -0
  167. package/.claude/skills/react-best-practices/references/bundle-optimization.md +182 -0
  168. package/.claude/skills/react-best-practices/references/client-data-fetching.md +112 -0
  169. package/.claude/skills/react-best-practices/references/complete-guide.md +2249 -0
  170. package/.claude/skills/react-best-practices/references/eliminating-waterfalls.md +169 -0
  171. package/.claude/skills/react-best-practices/references/javascript-performance.md +256 -0
  172. package/.claude/skills/react-best-practices/references/rendering-performance.md +230 -0
  173. package/.claude/skills/react-best-practices/references/rerender-optimization.md +214 -0
  174. package/.claude/skills/react-best-practices/references/server-performance.md +182 -0
  175. package/.claude/skills/security-audit/SKILL.md +226 -0
  176. package/.claude/skills/shared-references/advanced-debugging-techniques.md +186 -0
  177. package/.claude/skills/shared-references/code-quality-checklist.md +218 -0
  178. package/.claude/skills/shared-references/code-review-efficiency-guide.md +125 -0
  179. package/.claude/skills/shared-references/mcp-dependency-compatibility-protocol.md +276 -0
  180. package/.claude/skills/shared-references/skill-call-graph.md +230 -0
  181. package/.claude/skills/shared-references/skill-orchestration-protocol.md +281 -0
  182. package/.claude/skills/shared-references/subagent-dispatch-templates.md +199 -0
  183. package/.claude/skills/skill-expert-skills/LICENSE.txt +204 -0
  184. package/.claude/skills/skill-expert-skills/QUICK_NAVIGATION.md +374 -0
  185. package/.claude/skills/skill-expert-skills/SKILL.md +247 -0
  186. package/.claude/skills/skill-expert-skills/docs/_index.md +91 -0
  187. package/.claude/skills/skill-expert-skills/references/deep-research-methodology.md +389 -0
  188. package/.claude/skills/skill-expert-skills/references/docs-generation-workflow.md +398 -0
  189. package/.claude/skills/skill-expert-skills/references/domain-expertise-protocol.md +343 -0
  190. package/.claude/skills/skill-expert-skills/references/domain-knowledge/_index.md +54 -0
  191. package/.claude/skills/skill-expert-skills/references/domain-knowledge/backend-expertise.md +517 -0
  192. package/.claude/skills/skill-expert-skills/references/domain-knowledge/bug-fixing-expertise.md +363 -0
  193. package/.claude/skills/skill-expert-skills/references/domain-knowledge/code-review-expertise.md +392 -0
  194. package/.claude/skills/skill-expert-skills/references/domain-knowledge/frontend-expertise.md +410 -0
  195. package/.claude/skills/skill-expert-skills/references/domain-knowledge-template.md +503 -0
  196. package/.claude/skills/skill-expert-skills/references/examples.md +782 -0
  197. package/.claude/skills/skill-expert-skills/references/integration-examples.md +655 -0
  198. package/.claude/skills/skill-expert-skills/references/knowledge-validation-checklist.md +246 -0
  199. package/.claude/skills/skill-expert-skills/references/latest-knowledge-acquisition.md +461 -0
  200. package/.claude/skills/skill-expert-skills/references/mcp-tools-guide.md +439 -0
  201. package/.claude/skills/skill-expert-skills/references/official-best-practices.md +616 -0
  202. package/.claude/skills/skill-expert-skills/references/patterns.md +218 -0
  203. package/.claude/skills/skill-expert-skills/references/plugin-skills-guide.md +432 -0
  204. package/.claude/skills/skill-expert-skills/references/requirement-elicitation-protocol.md +290 -0
  205. package/.claude/skills/skill-expert-skills/references/skill-creator-SKILL.md +353 -0
  206. package/.claude/skills/skill-expert-skills/references/skill-templates.md +583 -0
  207. package/.claude/skills/skill-expert-skills/references/skills-knowledge-base.md +561 -0
  208. package/.claude/skills/skill-expert-skills/references/tools-guide.md +379 -0
  209. package/.claude/skills/skill-expert-skills/references/troubleshooting.md +378 -0
  210. package/.claude/skills/skill-expert-skills/references/universality-guide.md +205 -0
  211. package/.claude/skills/skill-expert-skills/references/writing-style-guide.md +466 -0
  212. package/.claude/skills/skill-expert-skills/scripts/__pycache__/quick_validate.cpython-313.pyc +0 -0
  213. package/.claude/skills/skill-expert-skills/scripts/__pycache__/universal_validate.cpython-313.pyc +0 -0
  214. package/.claude/skills/skill-expert-skills/scripts/analyze_trigger.py +425 -0
  215. package/.claude/skills/skill-expert-skills/scripts/diff_with_official.py +188 -0
  216. package/.claude/skills/skill-expert-skills/scripts/init_skill.py +349 -0
  217. package/.claude/skills/skill-expert-skills/scripts/package_skill.py +156 -0
  218. package/.claude/skills/skill-expert-skills/scripts/quick_validate.py +493 -0
  219. package/.claude/skills/skill-expert-skills/scripts/requirements.txt +2 -0
  220. package/.claude/skills/skill-expert-skills/scripts/universal_validate.py +182 -0
  221. package/.claude/skills/skill-expert-skills/scripts/upgrade_skill.py +431 -0
  222. package/.claude/skills/subagent-driven-development/SKILL.md +268 -0
  223. package/.claude/skills/test-driven-development/SKILL.md +246 -0
  224. package/.claude/skills/test-driven-development/references/testing-anti-patterns.md +192 -0
  225. package/.claude/skills/using-git-worktrees/SKILL.md +266 -0
  226. package/.claude/skills/using-skillstack/SKILL.md +127 -0
  227. package/.claude/skills/vercel-deploy/SKILL.md +166 -0
  228. package/.claude/skills/vercel-deploy/scripts/deploy.sh +249 -0
  229. package/.claude/skills/verification-before-completion/SKILL.md +305 -0
  230. package/.claude/skills/writing-plans/SKILL.md +259 -0
  231. package/README.md +69 -0
  232. package/bin/cli.js +468 -0
  233. package/lib/init.js +333 -0
  234. package/package.json +29 -0
@@ -0,0 +1,392 @@
1
+ # Code Review 领域专业知识库
2
+
3
+ > 创建日期: 2025-01-17
4
+ > 知识来源: 深度研究 + 行业最佳实践
5
+ > 适用场景: 优化/创建 code-review 相关 Skills
6
+
7
+ ---
8
+
9
+ ## 目录
10
+
11
+ 1. [核心概念](#1-核心概念)
12
+ 2. [代码审查心智模型](#2-代码审查心智模型)
13
+ 3. [审查框架](#3-审查框架)
14
+ 4. [审查维度](#4-审查维度)
15
+ 5. [常见陷阱](#5-常见陷阱)
16
+ 6. [自动化审查](#6-自动化审查)
17
+ 7. [知识沉淀](#7-知识沉淀)
18
+ 8. [工具与技术](#8-工具与技术)
19
+
20
+ ---
21
+
22
+ ## 1. 核心概念
23
+
24
+ ### 1.1 代码审查的本质
25
+
26
+ **代码审查不是代码检查,而是知识传递和风险控制。**
27
+
28
+ 关键洞察:
29
+ - 代码审查 = 知识分享 + 风险识别 + 团队建设
30
+ - 核心目标:提高代码质量,而非挑错
31
+ - 审查者 = 协作者,而非审判者
32
+
33
+ ### 1.2 审查 vs 检查
34
+
35
+ | 代码审查 (Code Review) | 静态检查 (Linting) |
36
+ |------------------|-----------------|
37
+ | 人工+工具结合 | 自动化工具 |
38
+ | 关注设计意图、可读性、架构 | 关注语法、风格、基本错误 |
39
+ | 需要上下文和业务理解 | 无需上下文 |
40
+ | 会话式讨论 | 报告式输出 |
41
+
42
+ ---
43
+
44
+ ## 2. 代码审查心智模型
45
+
46
+ ### 2.1 审查者角色定位
47
+
48
+ 来源: [Google Engineering Practices](https://google.github.io/eng-practices/review/)
49
+
50
+ **核心原则**:审查者是协作者,不是对手。
51
+
52
+ | 角色 | 负面做法 | 正面做法 |
53
+ |------|----------|----------|
54
+ | 审查者 | 挑错、指责、炫耀 | 协助、解释、引导 |
55
+ | 被审查者 | 防御、抗拒、情绪化 | 接受、讨论、改进 |
56
+
57
+ ### 2.2 审查心态
58
+
59
+ ```
60
+ ┌─────────────────────────────────────────┐
61
+ │ 良好的审查心态 │
62
+ ├─────────────────────────────────────────┤
63
+ │ 1. 代码是团队的,不是个人的 │
64
+ │ 2. 指出问题 = 帮助改进 │
65
+ │ 3. 讨论技术,不讨论人 │
66
+ │ 4. 关注重要问题,不纠结琐碎 │
67
+ │ 5. 提供解决方案,不只是提问题 │
68
+ └─────────────────────────────────────────┘
69
+ ```
70
+
71
+ ---
72
+
73
+ ## 3. 审查框架
74
+
75
+ ### 3.1 三层审查法
76
+
77
+ 来源: [Uber Code Review Guide](https://eng.uber.com/reviews/)
78
+
79
+ ```
80
+ ┌─────────────────────────────────────────┐
81
+ │ Layer 1: 快速扫视 (30 秒) │
82
+ │ ├─ 功能是否完整? │
83
+ │ ├─ 结构是否清晰? │
84
+ │ └─ 命名是否合理? │
85
+ ├─────────────────────────────────────────┤
86
+ │ Layer 2: 深度检查 (5-10 分钟) │
87
+ │ ├─ 逻辑是否正确? │
88
+ │ ├─ 边界是否处理? │
89
+ │ ├─ 性能是否合理? │
90
+ │ └─ 安全是否考虑? │
91
+ ├─────────────────────────────────────────┤
92
+ │ Layer 3: 跨模块影响 (2-5 分钟) │
93
+ │ ├─ API 兼容性 │
94
+ │ ├─ 数据库影响 │
95
+ │ └─ 前后端一致性 │
96
+ └─────────────────────────────────────────┘
97
+ ```
98
+
99
+ ### 3.2 审查清单模板
100
+
101
+ ```markdown
102
+ ## Code Review Checklist
103
+
104
+ ### 功能性
105
+ - [ ] 需求完整实现
106
+ - [ ] 边界情况处理
107
+ - [ ] 错误处理充分
108
+ - [ ] 单元测试覆盖
109
+
110
+ ### 可读性
111
+ - [ ] 命名清晰有意义
112
+ - [ ] 函数职责单一
113
+ - [ ] 复杂逻辑有注释
114
+ - [ ] 避免魔法数字
115
+
116
+ ### 架构与设计
117
+ - [ ] 遵循项目架构
118
+ - [ ] 代码复用合理
119
+ - [ ] 接口设计清晰
120
+ - [ ] 依赖关系合理
121
+
122
+ ### 安全性
123
+ - [ ] 输入验证
124
+ - [ ] SQL 注入防护
125
+ - [ ] 敏感数据处理
126
+ - [ ] 认证授权正确
127
+
128
+ ### 性能
129
+ - [ ] 无明显性能问题
130
+ - [ ] 数据库查询优化
131
+ - [ ] 缓存策略合理
132
+ - [ ] 资源正确释放
133
+ ```
134
+
135
+ ---
136
+
137
+ ## 4. 审查维度
138
+
139
+ ### 4.1 正确性 (Correctness)
140
+
141
+ **核心问题**:代码是否正确实现了需求?
142
+
143
+ 检查项:
144
+ - 业务逻辑是否符合需求
145
+ - 边界情况是否处理
146
+ - 错误情况是否考虑
147
+ - 数据类型是否正确
148
+
149
+ 示例:
150
+ ```python
151
+ # ❌ 错误:未处理空列表
152
+ def sum(numbers):
153
+ result = 0
154
+ for n in numbers:
155
+ result += n
156
+ return result
157
+
158
+ # ✅ 正确:处理空列表
159
+ def sum(numbers):
160
+ if not numbers:
161
+ return 0
162
+ result = 0
163
+ for n in numbers:
164
+ result += n
165
+ return result
166
+ ```
167
+
168
+ ### 4.2 可读性 (Readability)
169
+
170
+ **核心问题**:代码是否易于理解?
171
+
172
+ 来源: [Clean Code Principles](https://github.com/ryanmcdermott/clean-code-javascript)
173
+
174
+ 检查项:
175
+ - 命名是否自描述
176
+ - 函数是否短小(< 50 行)
177
+ - 嵌套层级是否过深(< 4 层)
178
+ - 注释是否解释"为什么"而非"是什么"
179
+
180
+ ### 4.3 可维护性 (Maintainability)
181
+
182
+ **核心问题**:代码是否易于修改和扩展?
183
+
184
+ 检查项:
185
+ - 函数职责是否单一
186
+ - 模块耦合度是否低
187
+ - 是否避免代码重复
188
+ - 配置是否与代码分离
189
+
190
+ ### 4.4 安全性 (Security)
191
+
192
+ **核心问题**:代码是否存在安全漏洞?
193
+
194
+ 来源: [OWASP Top 10](https://owasp.org/www-project-top-ten/)
195
+
196
+ 检查项:
197
+ - 输入是否验证和清理
198
+ - SQL 查询是否参数化
199
+ - 敏感数据是否加密
200
+ - 认证授权是否正确
201
+ - 是否有 XSS/CSRF 防护
202
+
203
+ ### 4.5 性能 (Performance)
204
+
205
+ **核心问题**:代码性能是否可接受?
206
+
207
+ 检查项:
208
+ - 是否有 N+1 查询
209
+ - 是否有不必要的循环
210
+ - 是否有内存泄漏风险
211
+ - 是否利用了缓存
212
+
213
+ ---
214
+
215
+ ## 5. 常见陷阱
216
+
217
+ ### 5.1 审查者陷阱
218
+
219
+ | 陷阱 | 表现 | 解决 |
220
+ |------|------|------|
221
+ | 过度挑剔 | 指出太多小问题 | 优先级分类,聚焦重要问题 |
222
+ | 只看不说 | 只列问题,不解释 | 提供改进建议和示例 |
223
+ | 风格警察 | 纠结代码风格问题 | 使用 linter 自动化风格检查 |
224
+ | 拖延审查 | PR 提交后几天才审查 | 设定 SLA,及时反馈 |
225
+
226
+ ### 5.2 被审查者陷阱
227
+
228
+ | 陷阱 | 表现 | 解决 |
229
+ |------|------|------|
230
+ | 防御心理 | 反驳每个问题 | 接受建议,讨论而非反驳 |
231
+ | 情绪化 | 感到被攻击 | 保持专业,聚焦代码 |
232
+ | 解释过多 | 过度解释代码 | 让代码自解释,减少注释 |
233
+ | 不修改 | 评论后不更新 | 按优先级修复,及时回复 |
234
+
235
+ ### 5.3 团队陷阱
236
+
237
+ | 陷阱 | 表现 | 解决 |
238
+ |------|------|------|
239
+ | 只有少数人审查 | 知识集中在少数人 | 轮换审查者,知识扩散 |
240
+ | 审查不深入 | 流于形式 | 设定审查深度要求 |
241
+ | 无审查规范 | 每个人审查标准不同 | 建立团队审查清单 |
242
+ | 无学习机制 | 同样问题反复出现 | 建立知识库,沉淀经验 |
243
+
244
+ ---
245
+
246
+ ## 6. 自动化审查
247
+
248
+ ### 6.1 静态分析工具
249
+
250
+ | 类别 | 工具 | 语言 | 检查内容 |
251
+ |------|------|------|----------|
252
+ | Linter | ESLint, Pylint, gofmt | JS/TS/Python/Go | 代码风格、基本错误 |
253
+ | 类型检查 | TypeScript, mypy | TypeScript/Python | 类型错误 |
254
+ | 安全扫描 | Bandit, Snyk, SonarQube | 多语言 | 安全漏洞 |
255
+ | 依赖检查 | npm audit, Snyk | JS/TS/Python | 依赖漏洞 |
256
+
257
+ ### 6.2 CI/CD 集成
258
+
259
+ ```yaml
260
+ # 示例: GitHub Actions 自动审查
261
+ name: Code Review Automation
262
+
263
+ on: [pull_request]
264
+
265
+ jobs:
266
+ auto-review:
267
+ runs-on: ubuntu-latest
268
+ steps:
269
+ - uses: actions/checkout@v3
270
+ - name: Run linter
271
+ run: npm run lint
272
+ - name: Run type check
273
+ run: npm run type-check
274
+ - name: Security scan
275
+ run: npm audit
276
+ - name: Post comment
277
+ uses: actions/github-script@v6
278
+ with:
279
+ script: |
280
+ github.rest.issues.createComment({
281
+ issue_number: context.issue.number,
282
+ body: '🤖 Automated review completed'
283
+ })
284
+ ```
285
+
286
+ ### 6.3 审查工具对比
287
+
288
+ | 工具 | 优点 | 缺点 | 适用场景 |
289
+ |------|------|------|----------|
290
+ | GitHub PR Review | 原生集成,易用 | 功能基础 | 小型团队 |
291
+ | Gerrit | 强大,细粒度权限 | 复难用 | 大型项目 |
292
+ | Phabricator | 功能丰富 | 维护成本高 | 中型团队 |
293
+ | Reviewable | 界面友好 | 付费 | 追求体验的团队 |
294
+
295
+ ---
296
+
297
+ ## 7. 知识沉淀
298
+
299
+ ### 7.1 审查知识库价值
300
+
301
+ - 避免重复讨论
302
+ - 提高审查一致性
303
+ - 新成员快速上手
304
+ - 持续改进标准
305
+
306
+ ### 7.2 审查记录模板
307
+
308
+ ```markdown
309
+ ## Review ID: REVIEW-XXX
310
+
311
+ ### 概览
312
+ - PR: #123
313
+ - 审查者: @author
314
+ - 日期: 2025-01-17
315
+ - 状态: ✅ Approved
316
+
317
+ ### 发现的问题
318
+
319
+ | 严重性 | 类型 | 描述 | 位置 | 状态 |
320
+ |--------|------|------|------|------|
321
+ | High | 安全 | SQL 注入风险 | app.py:123 | 已修复 |
322
+ | Medium | 性能 | N+1 查询 | models.py:45 | 已优化 |
323
+ | Low | 风格 | 缩进不一致 | utils.py:67 | 已修正 |
324
+
325
+ ### 讨论记录
326
+
327
+ **作者提问**: 为什么要用这种方式?
328
+
329
+ **审查者回答**: 因为 X 和 Y 的原因。可以考虑替代方案 Z。
330
+
331
+ **最终决定**: 保持原方案,添加注释说明。
332
+
333
+ ### 经验教训
334
+ 1. [可复用的教训]
335
+ 2. [可复用的教训]
336
+ ```
337
+
338
+ ### 7.3 模式提取
339
+
340
+ 从具体审查中提取通用模式:
341
+
342
+ | 具体问题 | 通用模式 |
343
+ |----------|----------|
344
+ | "变量名 `d` 不清晰" | 命名应该有意义,避免单字母 |
345
+ | "函数 200 行太长" | 函数应该短小,单一职责 |
346
+ | "重复代码在 3 处" | 应该提取公共函数/类 |
347
+ | "缺少错误处理" | 所有外部调用应该有 try-catch |
348
+
349
+ ---
350
+
351
+ ## 8. 工具与技术
352
+
353
+ ### 8.1 审查工具
354
+
355
+ | 类别 | 工具 | 用途 |
356
+ |------|------|------|
357
+ | Git Diff | `git diff`, `git show` | 查看变更 |
358
+ | GitHub/GitLab | PR/MR 功能 | 在线审查 |
359
+ | Review Board | 多平台统一 | 大型团队管理 |
360
+ | SonarQube | 代码质量分析 | 自动化质量检查 |
361
+
362
+ ### 8.2 审查最佳实践
363
+
364
+ | 实践 | 说明 |
365
+ |------|------|
366
+ | 小 PR | 保持 PR 小(< 400 行) |
367
+ | 及时反馈 | 24 小时内响应 |
368
+ | 面对面讨论 | 复杂问题直接沟通 |
369
+ | 代码归属 | 审查者对审查代码负责 |
370
+ | 持续学习 | 每周分享审查心得 |
371
+
372
+ ### 8.3 团队文化
373
+
374
+ 来源: [Netflix Culture](https://jobs.netflix.com/culture)
375
+
376
+ **核心原则**:
377
+ - 自由与责任
378
+ - 上下文而非控制
379
+ - 高绩效环境
380
+ - 坦诚与尊重
381
+
382
+ ---
383
+
384
+ ## 参考资料
385
+
386
+ - [Google Engineering: Code Review](https://google.github.io/eng-practices/review/) - Google 代码审查最佳实践
387
+ - [Uber: Code Review Guide](https://eng.uber.com/reviews/) - Uber 代码审查指南
388
+ - [OWASP Top 10](https://owasp.org/www-project-top-ten/) - OWASP 安全漏洞
389
+ - [Clean Code](https://github.com/ryanmcdermott/clean-code-javascript) - Clean Code 原则
390
+ - [Effective Code Review](https://www.cqse.eu/en/publications/downloads/Efficient_code_review_2008.pdf) - 高效代码审查研究
391
+ - [SonarQube Documentation](https://docs.sonarqube.org/) - SonarQube 文档
392
+ - [Wikipedia: Code Review](https://en.wikipedia.org/wiki/Code_review) - 代码审查维基百科