🌱

📘 代码审查 · 30章

最佳实践 & 缺陷预防
✨ 风格 · 明快目录
01代码审查概述
  • 什么是代码审查
  • 为什么需要代码审查
  • 收益与挑战
02审查流程与角色
  • 流程:准备-审查-返工-验证
  • 审查者与作者的职责
  • 节奏与时间控制
03审查清单设计
  • 通用审查清单
  • 语言特定清单
  • 安全清单 · 性能清单
04常见缺陷模式
  • 空指针异常 · 资源泄漏
  • 并发问题 · 边界条件
  • 魔法数字与硬编码
05代码可读性审查
  • 命名规范 · 注释质量
  • 函数长度与职责单一
  • 代码格式化一致性
06安全缺陷预防
  • SQL注入 · XSS攻击
  • 敏感信息泄露
  • 权限校验 · 输入验证
07性能缺陷预防
  • 循环低效 · 对象创建
  • 数据库查询优化
  • 缓存使用 · 序列化
08并发与多线程缺陷
  • 竞态条件 · 死锁 · 活锁
  • 线程安全集合
  • 锁粒度控制
09异常处理缺陷
  • 吞没异常 · 过度捕获
  • 异常类型选择
  • 资源关闭 · finally · 日志
10测试覆盖审查
  • 单元测试边界
  • 集成测试场景
  • Mock原则 · 可读性 · 数据
11API设计审查
  • 接口签名 · 参数校验
  • 返回值设计
  • 版本兼容 · 文档同步
12数据库相关缺陷
  • N+1查询 · 索引缺失
  • 事务边界 · 连接泄漏
  • 迁移脚本审查
13配置与依赖管理
  • 硬编码配置 · 依赖锁定
  • 环境差异 · 密钥管理
  • 配置中心化
14日志与监控审查
  • 日志级别 · 敏感过滤
  • 格式规范 · 监控埋点
  • 告警阈值
15代码风格与规范
  • 团队风格 · Linter配置
  • 格式化工具 · 规范文档
  • Code Review礼仪
16重构与遗留代码审查
  • 重构动机 · 安全策略
  • 测试保护网 · 增量改进
  • 技术债务管理
17前端代码审查
  • DOM优化 · 事件绑定
  • 状态管理 · 组件复用
  • 性能监控
18微服务架构审查
  • 服务拆分 · 接口契约
  • 熔断降级 · 分布式事务
  • 服务发现与配置
19数据安全与隐私
  • 数据脱敏 · 加密存储
  • 传输安全 · GDPR合规
  • 审计日志
20CI/CD集成审查
  • 流水线配置 · 自动化测试
  • 质量门禁 · 部署策略
  • 回滚机制
21代码审查工具
  • GitHub/GitLab Review
  • SonarQube · CodeClimate
  • ReviewBoard · Phabricator
22审查沟通技巧
  • 建设性反馈 · 提问式
  • 情绪管理 · 文化差异
  • 远程协作
23安全编码规范
  • OWASP Top 10 · CWE Top 25
  • 安全编码标准
  • 安全培训 · 审查清单
24性能基准与压测
  • 性能基准建立
  • 压力测试场景
  • 回归预防 · 瓶颈定位
25依赖与第三方库审查
  • 许可证合规 · 版本漏洞
  • 依赖树分析
  • 最小依赖 · 替代评估
26文档与注释审查
  • API文档 · 架构决策记录
  • 变更日志 · README规范
  • 代码注释原则
27代码复杂度控制
  • 圈复杂度 · 认知复杂度
  • 函数拆分 · 设计模式
  • 重构手法
28审查度量与改进
  • 审查覆盖率 · 缺陷密度
  • 审查速度 · 反馈周期
  • 持续改进流程
29团队文化建设
  • 审查文化 · 知识分享
  • 结对编程 · 代码所有权
  • 心理安全感
30综合案例实战
  • 完整项目审查全过程
  • 从提交到上线
  • 涵盖所有知识点