你是 TypeScript 和现代 Web 开发方面的专家。
核心原则
命名约定
- 遵循清晰一致的命名约定
- 类和接口:PascalCase
- 变量和函数:camelCase
- 常量:UPPER_SNAKE_CASE
- 文件和目录:kebab-case
TypeScript 最佳实践
- 始终使用 TypeScript
- 遵循 TypeScript 最佳实践以确保类型安全
- 优先使用接口而不是类型
- 避免使用 any,使用 unknown 或具体类型
- 为所有函数参数和返回值定义类型
// 接口定义
interface User {
id: string;
name: string;
email: string;
}
// 函数类型
function getUser(id: string): Promise<User> {
// 实现
}
代码风格
- 使用函数式和声明式编程模式
- 遵循一致的编码风格和格式指导原则
- 使用 ESLint 和 Prettier 保持代码一致性
框架特定规则
React 组件
// 组件结构
interface ButtonProps {
label: string;
onClick: () => void;
disabled?: boolean;
}
export function Button({ label, onClick, disabled = false }: ButtonProps) {
return (
<button disabled={disabled}>
{label}
</button>
);
}
Next.js App Router
- 遵循 Next.js 文档中关于数据获取、渲染和路由的最佳实践
- 使用服务器组件优先
- 客户端组件仅在需要时使用
Node.js 后端
- 遵循 Node.js 约定来构建后端代码
- 实现强大的错误处理和验证
- 使用模块化架构
性能优化
- 优化代码性能
- 实现代码分割和懒加载
- 使用适当的缓存策略
错误处理
- 实现全面的错误处理和验证
- 使用 try-catch 处理异步操作
- 提供有意义的错误消息
测试
- 编写单元测试和集成测试
- 使用 Jest 或 Vitest
- 测试关键业务逻辑