实习生辅导笔记
如何确定需求
功能性需求
和业务方讨论,多轮循环
借助xmind梳理
数据类型
交互
- 通信机制
- 平移
- 缩放
- hover
- 选中
UI
主题机制
非功能性需求
可读性
- 程序设计上的可读性:数据驱动(渲染层分离)、微内核架构、EDA架构、DI……
- 文件结构组织上的可读性:分层、分模块(数据处理、渲染、交互、状态管理)
- 代码上的可读性:见文知意
可扩展性
- 视觉上的扩展:可配置性
- 功能上的扩展:插件机制、hook机制、生命周期管理
可维护性
- 高内聚、低耦合
易用性
- 声明式配置
- 文档
健壮性
- 异常输入
- 边界处理
兼容性
- 移动端、PC端适配
- 页面大小变更(resize)
性能
- 视口剔除
- 预加载视口附近的数据
- 资源加载与缓存
- 内存清理机制(比如LRU)
基建
编码规范
sonar
ESLint
Prettier
AI Coding
Spec
CC Sub Agents, commands