opoojkk

命名的艺术:从驼峰到蛇形

lxx
目次

不同编程语言往往有不同的命名约定。Java、Python、C++ 各自形成了独特的命名文化。许多重构类书籍在讲解前都会先强调命名,因为命名绝不是一件简单的事。好的命名要能准确传达含义,让人一眼就能看出变量或函数的用途。 这些命名方式的共同目标,都是为了增强可读性——让名字更像语言,而不是符号。

驼峰命名法(Camel Case) #

我最熟悉的语言是 Java,而 Java 最常见的命名方式就是驼峰命名(camel case)。 在这种方式中,单词连接处用大写字母标识,其他字母保持小写。例如 firstName。Java 中一般不会使用下划线 _ 来分隔单词。

“驼峰式大小写(Camel-Case)一词来自 Perl 语言中普遍使用的大小写混合格式,而 Larry Wall 等人所著的《Programming Perl》(O’Reilly 出版)的封面是一匹骆驼,因此得名。”

—— 维基百科 · 驼峰大小写

在 Java、Kotlin、Rust、Go、C++、Python 等语言中,成员变量和局部变量通常都会使用这种命名方式。

帕斯卡命名法(Pascal Case) #

帕斯卡命名法可以看作驼峰命名法的一种变体。不同之处在于:首字母也大写。例如 MyClass。 在 Java 和 Kotlin 中,类名、接口名、文件名通常使用帕斯卡命名法。

蛇形命名法(Snake Case) #

蛇形命名法(snake case),也称“下划线命名法”。单词之间用下划线 _ 分隔。

有两种变体:

一般来说,现代主流语言不会同时混用大小写与下划线分隔——那样既冗余又影响美观。

烤串命名法(Kebab Case) #

烤串命名法(kebab case) 使用小写字母并以短横线 - 连接,例如:css-class-name。 这种命名方式在前端开发中非常常见,尤其是 CSS 的类名或 HTML 属性名中。

匈牙利命名法(Hungarian Notation) #

匈牙利命名法(Hungarian notation) 是一种历史悠久、但如今较少使用的命名方式。 在 Java 时代,仍能看到有人使用,比如 mFieldsInstance。 其规则是在名称前添加小写前缀,用以标识变量的类型或用途。例如:

根据用途不同,它分为两种:

虽然这种方式在现代语言中已不再主流,但在老项目、甚至部分 Android 代码中依然能见到其痕迹。

小结 #

无论是驼峰、蛇形还是烤串,这些命名方式的核心目标始终一致——让代码更易读、更易懂。 命名不仅是语法规则,更是沟通的语言。它连接着人和代码,也反映着语言设计的美学。

参考资料:

标签:
Categories: