介绍一下编程中的脊柱命名法(形如aaa-bbb)

创建于:2025年4月18日

使用 O4 Mini 回答 Chat01

问题

介绍一下编程中的脊柱命名法(形如aaa-bbb)

问题

介绍一下编程中的脊柱命名法(形如aaa-bbb)

思考

Thought for a couple of seconds

回答

在编程中,“脊柱命名法”(也常被称为 kebab-case)是一种将多个单词全部转换为小写,并以短横线(-)连接的命名规范,形式如:

text
aaa-bbb-ccc

主要特点

  1. 小写字母
    所有字母都采用小写,不引入任何大写字母或下划线。
  2. 短横线分隔
    单词之间用 - 分隔,看起来就像脊柱(vertebrae)一样一个接一个。
  3. 无空格
    不允许出现空格或其他标点符号,除了用作分隔的 -

使用场景

场景举例说明
HTML/CSS 类名<div class="site-header-menu"></div>浏览器和框架(如 BEM)中常用
URL 路径https://example.com/user-profileSEO 友好,可读性高
命令行参数git commit -m "init-project"UNIX 风格工具和脚本中常见
文件或目录命名project-assets/images便于跨平台,无大写敏感问题
配置项、属性字段font-size, background-colorCSS 属性名本身就采用 kebab-case 规范

与其他命名法比较

命名法形式示例优点缺点
camelCaseuserProfileDataJavaScript 变量/函数常用不适于 URL 或 CSS 类名
PascalCaseUserProfileData类名、构造函数命名同样不适于 URL 或 CSS 类名
snake_caseuser_profile_dataPython、Ruby 等后端语言常用下划线在某些环境下可读性较差
kebab-caseuser-profile-data可读性强,URL 与 HTML/CSS 友好变量名中不能以数字或特殊字符开头

优势与注意事项

  • 可读性高:短横线让单词边界一目了然,特别是在长名称时效果明显。
  • 跨平台兼容:大多数文件系统、URL、命令行都能很好地处理短横线。
  • 一致性:在前端项目(HTML/CSS/JSON 配置)中,使用同一种命名让团队协作更顺畅。
  • 转换成本低:IDE 或构建工具(如 Webpack、Gulp)中常提供从 camelCase、snake_case 与 kebab-case 互转的插件。

注意:在 JavaScript 代码里,变量和函数通常使用 camelCase,而 DOM 属性、CSS 类名等则推荐用 kebab-case,以便与原生规范保持一致。


示例

html
<!-- HTML + CSS --> <nav class="main-nav-list"> <ul class="main-nav-list__item"> <li class="main-nav-list__link"><a href="/home">Home</a></li> </ul> </nav>
bash
# 命令行脚本 #!/usr/bin/env bash PROJECT_NAME="awesome-app" mkdir $PROJECT_NAME cd $PROJECT_NAME npm init -y
json
// JSON 配置 { "font-size": "16px", "background-color": "#fff" }

小结:脊柱命名法(kebab-case)以其清晰、跨平台兼容的特点,成为前端开发与命令行脚本中最常见的命名规范之一。在适当的场景下选择它,可以提升代码可读性和一致性。

分享这个问答