编程命名风格推荐
命名风格
常见命名风格包括
- 驼峰命名法(CamelCase)
- 小驼峰命名法(lowerCamelCase)
- 大驼峰命名法(CamelCase)
- 蛇形命名法(snake_case)
- 串式命名法(kebab-case)
其他还包括匈牙利命名法(HN case)、帕斯卡命名法(PascalCase)等。
命名规范
- 函数命名, 变量命名, 文件命名要有描述性; 少用缩写.
- 常见缩写可用,如 i 表示迭代变量和 T 表示模板参数。
- 统一命名标准,风格,易于理解放在首位。
- 谈谈我对编程风格的看法,不同的语言、不同的团队可能都有不同规定的命名风格,但源码在大部分时候都是人在写也是人在看,在运行时就与函数变量写成什么样无关了,所以编程风格面对的是人,易于理解自然摆在首位。目前主流的命名风格是驼峰命名与蛇形命名,驼峰命名由于普及的早,其风格广为人知,应用场景也更为人而知,熟悉的人能通过风格了解使用场景;而蛇形命名更像英文句子,更符合人的阅读习惯,更易理解。两种风格如今都有很多人使用,也有不同的场景,我的建议是,当在团队项目时以团队统一说明规范为主,个人选择编程风格时可以看看接下来我推荐的风格。至于是否会发生混乱,可以以一个风格为主,再利用IDE格式修正或其他格式化工具修正后上传。
- 推荐蛇形命名的理由,方便键入,易于理解,符合大多数人阅读习惯。并且下划线可以通过键位修改工具使之一键输入。
使用场景
推荐命名规范,参考 C++,Python,Java 语言推荐风格。
要素 | 风格 | 场景 |
---|---|---|
项目文件与文件夹 | 串式命名法(kebab-case ) |
源码中包模块划分另见 |
类(Class) | 大驼峰命名法(CamelCase ) |
|
函数(Function)、方法(Method) | 蛇形命名法(snake_case ) |
风格不一致,可见下文格式化。 |
变量(Variable) | 蛇形命名法(snake_case ) |
风格不一致,可见下文格式化。 |
常量(Constants) | UPPER_CASE_WITH_UNDERSCORES |
|
Python 包(Package)、模块(Module) | 蛇形命名法(snake_case ) |
应尽量简短,如果下划线可改善可读性则可加入;文件名采用一样的规则。 |
Java 包(Package) | lowercase |
包名以 . 分隔,类似域名的命名采用逆置,并且目录结构也采用 . 分隔方式组织;其中文件名与该文件内主类一致。 |
C/C++ 源码文件 | 蛇形命名法(snake_case ) |
C 源码文件以 .c 结尾,C++ 源码文件以 .cpp (或 .cc 结尾,没有区别,主流编译器都能识别)结尾,头文件都采用 .h 结尾。 |
其他要素待更新
风格说明
- 一般在函数、方法、变量上风格差异很大,主要分为小驼峰命名法与蛇形命名法。
- 风格描述采用第一节说明的命名风格与 Python PEP8 中描述的风格。
UPPER_CASE_WITH_UNDERSCORES
:全大写,单词间用下划线分隔。lowercase
:全小写。
格式化
此节为了解决个人风格与团队风格不一致情况下,如何在不改变个人风格的前提,使用格式化工具统一团队风格。
待更新