Skip to content

BEST_PRACTICES

github-actions[bot] edited this page Feb 15, 2026 · 3 revisions

开发规范与最佳实践

🎨 UI 开发规范

FlashList 性能优化

项目中大量使用了 FlashList 进行列表渲染。为了保证滚动性能,请严格遵守以下规范:

  1. renderItem 定义: renderItem 函数必须在组件函数外部定义(并不推荐使用 useCallback
  2. extraData 使用: 所有 renderItem 依赖的外部变量(除了 item 本身),都必须放入 extraData 属性中。
  3. Memoization: extraData 对象必须使用 useMemo 包裹,避免因引用变化导致不必要的重渲染。

📝 代码风格

  • Oxfmt: 项目配置了 Oxfmt,请确保编辑器开启了保存自动格式化。
  • Oxlint/ESLint: 提交前请修复所有的 lint 警告。
  • 组件命名: 使用帕斯卡命名法 (PascalCase),如 MyComponent.tsx
  • Hook 命名: 使用 use 前缀,如 usePlayerState.ts

🪵 日志规范

  • Service/Facade 层: 关键业务路径应记录日志。
  • Error Handling: 捕获到错误时,应记录错误堆栈。
  • Debug: 开发环境下的调试日志请使用 console.debug,生产环境构建会自动移除。

Clone this wiki locally