代码命名规范2024
代码命名规范2024
包括但不限于React TypeScript相关项目实践
- 
文件命名: - 使用小写字母
- 多个单词用连字符(-)分隔,如 user-profile.ts
- React组件文件使用PascalCase,如 UserProfile.tsx
- 测试文件添加 .test.ts或.spec.ts后缀
- 样式文件使用 .module.css后缀表示CSS模块
 
- 
组件命名: - 使用PascalCase,如 UserProfile
- 高阶组件可以使用 with前缀,如withAuth
 
- 使用PascalCase,如 
- 
Hook命名: - 使用 use前缀,如useLocalStorage
 
- 使用 
- 
类型和接口: - 使用PascalCase
- 接口不要加 I前缀
- 类型可以使用 Type后缀,如UserType
 
- 
常量: - 使用全大写,下划线分隔,如 MAX_COUNT
 
- 使用全大写,下划线分隔,如 
- 
函数和变量: - 使用camelCase
- 布尔值可以使用 is、has、can等前缀
 
- 
事件处理函数: - 使用 handle前缀,如handleClick
 
- 使用 
- 
Props: - 使用camelCase
- 避免使用缩写
 
- 
枚举: - 枚举名使用PascalCase
- 枚举成员使用PascalCase
 
- 
命名空间: - 使用PascalCase
 
遵循这些命名规范可以提高代码的一致性和可读性。团队应该根据具体项目需求制定详细的命名规范文档,并在代码审查中严格执行。
补充:文件夹命名
- 
主要文件夹: - 使用小写字母
- 单个单词优先,如 components,pages,hooks,utils
- 如果需要多个单词,使用kebab-case(短横线连接),如 api-services
 
- 
组件文件夹: - 使用PascalCase,与组件名称一致
- 例如: Button,UserProfile,NavigationBar
 
- 
特性或模块文件夹: - 使用小写字母
- 如果是多个单词,使用kebab-case
- 例如: user-management,product-catalog
 
- 
版本文件夹: - 如果需要版本控制,使用 v前缀加数字
- 例如: v1,v2
 
- 如果需要版本控制,使用 
- 
测试文件夹: - 使用小写的 __tests__
 
- 使用小写的 
- 
类型定义文件夹: - 使用小写的 types或interfaces
 
- 使用小写的 
- 
资源文件夹: - 使用小写,如 assets,images,fonts
 
- 使用小写,如 
- 
环境配置文件夹: - 使用小写,如 config,environments
 
- 使用小写,如 
- 
布局组件文件夹: - 使用小写的 layouts
 
- 使用小写的 
- 
公共组件文件夹: - 使用小写的 common或shared
 
- 使用小写的 
示例文件结构:
src/
  components/
    Button/
    UserProfile/
    NavigationBar/
  pages/
  hooks/
  utils/
  api-services/
  assets/
    images/
    fonts/
  types/
  layouts/
  common/
  features/
    user-management/
    product-catalog/
  __tests__/
  config/
这种命名方式有助于保持项目结构的一致性和清晰度。记住,最重要的是在团队内 部达成共识,并在整个项目中保持一致。可以将这些规范写入团队的开发文档中,确保所有成员都遵循相同的命名约定。
单复数名词规范
- 
文件夹命名: - 通常使用单数形式,如 component,util,hook
- 表示集合的文件夹可以使用复数,如 pages,styles
 
- 通常使用单数形式,如 
- 
文件命名: - 组件文件使用单数,如 Button.tsx,UserProfile.tsx
- 工具函数文件通常用单数,如 format.ts,validate.ts
- 类型定义文件可以用复数,如 types.ts,interfaces.ts
 
- 组件文件使用单数,如 
- 
变量命名: - 单个实例用单数,如 const user = {...}
- 表示多个项目的数组或集合用复数,如 const users = [...]
 
- 单个实例用单数,如 
- 
接口和类型命名: - 通常使用单数,如 interface User,type ButtonProps
 
- 通常使用单数,如 
- 
组件Props命名: - 单个项目用单数,如 user: User
- 多个项目的数组用复数,如 users: User[]
 
- 单个项目用单数,如 
- 
函数命名: - 处理单个项目的函数用单数,如 getUser()
- 处理多个项目的函数用复数,如 fetchUsers()
 
- 处理单个项目的函数用单数,如 
- 
Hook命名: - 通常使用单数,如 useUser,useForm
 
- 通常使用单数,如 
- 
上下文(Context)命名: - 通常使用单数,如 UserContext,ThemeContext
 
- 通常使用单数,如 
- 
常量命名: