React 组件文件命名:在 Agent 时代 PascalCase 和 kebab-case 的抉择与困惑

最近在项目里拆页面组件时,意识到一个问题:在 Agent 时代,到底是 PascalCase 还是 kebab-case 更合适?

1. PascalCase 的优势

  • 文件夹名和组件名一致,比如 HeroSection
  • Agent 生成或修改组件时可以直接匹配组件名:
import { HeroSection } from "@/components/pages/home/HeroSection"
  • Page 文件组合 Section 时非常直观,一眼就能知道哪个组件对应哪个功能。
  • 搜索、定位组件更容易,减少自动化出错几率。

简而言之,PascalCase 对 Agent 友好,尤其是页面专用的 Section 组件。

2. kebab-case 的背景

  • shadcn 官方推荐,用于 UI 复用组件库:
import { DropdownMenu } from "@/components/ui/dropdown-menu"
  • 好处:

    • 跨平台安全(避免大小写敏感问题)
    • 符合 npm / Vite / Webpack 生态规范
    • 层级多时路径清晰
  • 限制:

    • 对 Agent 自动生成和搜索组件不如 PascalCase 直观

3. 当前的困惑

  • PascalCase 在 Agent 场景下更好,但和 UI 库命名规范不一致
  • kebab-case 符合复用库标准,但不够自动化友好
  • 在同一个项目里,是混用、折中

Comments (0)

Loading session...