编程命名规则
条评论先放结论
那么要用哪种风格取决于(按优先级排序):
- 最重要的是跟随团队的约定。(编程命名风格并不是非对即错,最重要的是团队统一,其次才是良好的命名风格)
- 使用该编程语言的主流命名风格。
- 大小写>下划线>连字符
各种风格讨论
编程中最难问题之一是:如何命名?
命名的合理性 影响着 项目的可维护性、代码阅读速度。最理想的命名应该是 “一眼就能看出这个变量代表着什么” 。
合理命名的关键问题又在于,如何“分隔多个单词”? 有的通过大小写来分隔,有的用下划线/中划线分隔。 主流是使用大小写(骆驼(camel)、帕斯卡(pascal)),C/C++的偏向全小写加下划线,少量情况下会有使用连字符(中线命名法,烤串命名法 (kebab-case))、全大写加下划线(常用于全局常量)。
大小写是主流的写法,其主要规则是:
- 类名 首字母大写
class CpuTemperature {...}
- 变量 首字母小写
int cupTemperature = ....
- 接口 首字母以大写I开关,后接大写开头的名称。
interface ICpuTemperatuer {...}
- 当出现 大写缩写的单词,两个字母的大写,两个字母以上的按单词算。(比如IO就全大写,
IOException
,CPU就被写成首字母大写,CpuTemperature
)
全小写加下划线的写法:cpu_temperature
,这种写法识别速度最快,在c/c++,mysql字段命名里比较常见,所以常见一些工具用于 大小写与下划线 写法相互转换的工具和代码库。
全大写加下划线的写法:CPU_TEMPERATURE
,常用于常量声明
连字符写法:cpu-temperature
,常见于对大小写不敏感的环境,常见于HTML、CSS。
特别地,部分环境对大小写不敏感(即不能区分大小写,如Cpu
与CPU
会被解析成一样的,比如HTML就不敏感),所以就不会使用主流的大小写的写法,而更倾向于使用连字符写法。
或许有人问,连字符写法与下划线写法有什么区别?
对比项 | 下划线 | 连字符 |
---|---|---|
写法 | cpu_temperature | cpu-temerature |
双击 | 是一个单词,双击全选 | 是多个单词,双击只能选中一个单词,Google 搜索引擎也会以此为依据区分是单个单词还是多个。 |
输入 | 需要多按一个shift | 略 |
问题 | 略 | 连字符对应代码里的减号,不能直接使用,在一些环境中使用连字符作为文件名会导致异常。 |