实习生辅导笔记

如何确定需求

功能性需求

和业务方讨论,多轮循环
借助xmind梳理

数据类型

交互

  • 通信机制
  • 平移
  • 缩放
  • hover
  • 选中

UI

主题机制

非功能性需求

可读性

  • 程序设计上的可读性:数据驱动(渲染层分离)、微内核架构、EDA架构、DI……
  • 文件结构组织上的可读性:分层、分模块(数据处理、渲染、交互、状态管理)
  • 代码上的可读性:见文知意

可扩展性

  • 视觉上的扩展:可配置性
  • 功能上的扩展:插件机制、hook机制、生命周期管理

可维护性

  • 高内聚、低耦合

易用性

  • 声明式配置
  • 文档

健壮性

  • 异常输入
  • 边界处理

兼容性

  • 移动端、PC端适配
  • 页面大小变更(resize)

性能

  • 视口剔除
  • 预加载视口附近的数据
  • 资源加载与缓存
  • 内存清理机制(比如LRU)

基建

编码规范

sonar
ESLint
Prettier

AI Coding

Spec
CC Sub Agents, commands

常见问题

工程化开发与POC的区别

实习生反馈的问题