前端代码质量保障体系

如果无法正常显示,请先停止浏览器的去广告插件。
分享至:
1. 前端代码质量保障体系 2021-10-24
2. 团队介绍
3. 重点方向
4. 目录 质量体系 线上 & 线下 01 原则与目标 建立规范体系的初衷 02 具体规范 详细介绍代码规范 03 执行与推广 如何有效落地 04
5. 质量体系- 线上监控
6. 线上监控 隐去内部系统截图,具体内容为: • 上线准入卡点 • 打点与日志 • 监控大盘 • 报警 • oncall机制 • 报警有效性治理 • 长期跟踪
7. 02 原则与目标
8. 背景 团队规模急剧扩大,人员经验有差距,风格不统一 项目经手人员较多,代码可维护性降低
9. 规范制定原则 尽量细致严格 文档详细、示例遵守规范 贴近业务实际 长期维护 确保落地
10. 规范制定原则- 细致严格
11. 规范制定原则- 文档详细 1.规则准确描述 → 2.错误正确示例 → 3.特殊场景说明 → 4.不合规范的风险
12. 规范制定原则- 文档详细 1.规则准确描述 → 2.错误正确示例 → 3.特殊场景说明 → 4.不合规范的风险
13. 规范制定原则- 文档详细 1.规则准确描述 → 2.错误正确示例 → 3.特殊场景说明 → 4.不合规范的风险
14. 规范制定原则- 贴近业务
15. 规范制定原则- 贴近业务
16. 规范制定原则- 长期维护 整体基于Airbnb的规范 通过文档形式标注被覆盖的规则
17. 规范与实践 编码风格 React规范 TS规范 • 无关对错,风格统一 • 减少心智负担 • 基础 • 追求简单 • 推崇函数式编程 • Hooks规范 • 可维护性,易扩展 • 使用stage 3及以上的规范 • 最佳实践 • 贴近业务 • 充分利用TS特性 • 常见问题
18. 规范与实践- 编码风格 编码风格 • 无关对错,风格统一 • 追求简单 • 可维护性,易扩展 • 贴近业务
19. 编码风格- 文件命名
20. 编码风格- 变量命名
21. 编码风格- Module引入顺序
22. 编码风格- React风格
23. 编码风格- 可维护、易扩展
24. 规范与实践- TS规范 TS规范 • 减少心智负担 • 推崇函数式编程 • 拥抱新规范 • 充分利用TS特性
25. TS规范 -如何切换 1. 先行调研 2. 工具支持 3. 学习分享  基础应用  进阶使用  常见问题总结 实践总结
26. TS规范- 减少心智负担
27. TS规范- 函数式编程 可控的副作用
28. TS规范- 函数式编程 引用透明 What is Functional Programming?
29. TS规范- 保持更新 ES2019 ES2021 • Object.fromEntries • Promise.any • Array.prototype.flat & Array.prototype.flatMap • Logical Assignment Operators (a ?? (a = b) => a ??= b) • String.prototype.trimStart & • Numeric separators (let amount = 1_234_500; // String.prototype.trimEnd 1,234,500) ES2020 ES2022 • Dynamic Import • Top-level await • BigInt • Class Fields (#privateValue) • Promise.allSettled • At • Optional Chaining(a?.value) • Class Static Block • Nullish coalescing Operator(??)d 更多内容参考:ts39/proposals /finished-proposals.md
30. TS规范- 数组新方法 谨慎使用下列方法 • pop / push • shift / unshift • reverse • sort • splice
31. TS规范- 补足ES
32. TS规范- Generic
33. TS规范- 常用工具类 • Partial<Type> / Required<Type> • Readonly<Type> • Record<Keys,Type> • Exclude / Extract • Pick<Type, Keys> \ Omit<Type, Keys> • ReturnType \ Parameters Utility Types
34. 规范与实践- React规范 React规范 • 基础 • Hooks规范 • 最佳实践 • 常见问题
35. React规范- 基础
36. React规范- useState & useReducer
37. React规范-useEffect
38. React规范-useEffect
39. React规范- 副作用问题 副作用只能产生于useEffect或useLayoutEffect中,其他位置禁止产生
40. React规范-useRef 错误示例 错误示例——ref.current作为依赖
41. React规范-StrictMode 示例
42. React规范- 性能优化 示例
43. React规范- 性能优化
44. React规范- 性能优化 完整解释 错误示例 正确示例
45. React规范- 常见问题 React Hooks Q&A
46. React规范- 常见问题 完整解释 示例 React Hooks Q&A
47. React规范- 其他 推荐的自定义hooks集合 : aHooks 关注的方向 Concurrent Mode Automatic batching startTransition
48. 04 执行与推广
49. 执行与推广- 整体思路 自动化 流程化 奖惩机制 Lint 新人课程 试卷考核 Git Hook 人才培养 事故盘点 代码扫描 全面CR 每周MVP
50. 执行与推广- 自动化 自动化工具链: eslint + prettier + husky + lint staged
51. 执行与推广- 自动化 自动化工具链: eslint + prettier + husky + lint staged
52. 执行与推广- 自动化 自动化工具链: eslint + prettier + husky + lint staged
53. 执行与推广- 流程化
54. 执行与推广- Code Review
55. 执行与推广- 人才培养 • 整理“错题集”,团队内部分享 • 整理常见的编程技巧、设计原则和设计模式的应用案例 • 学习业界优秀的设计方案,从模仿到掌握
56. 执行与推广- 奖惩机制 隐去内部系统截图,主要内容为统计每周的CR耗时、评论字节数、Approve总数
57. 执行与推广- 奖惩机制
58. Thanks Q&A

Home - Wiki
Copyright © 2011-2024 iteam. Current version is 2.137.1. UTC+08:00, 2024-11-15 20:52
浙ICP备14020137号-1 $Map of visitor$