C++ 命名约定

2024 年 8 月 28 日 | 阅读 9 分钟

C++ 有一套关于在代码中命名变量、函数和其他标识符的规则。这些规则被称为命名约定,有助于使您的代码更具可读性和可维护性。

C++ 命名约定指南

变量名应具有描述性且有意义。例如,保存班级学生数量的变量可以命名为“numStudents”或“studentCount”。

变量名应使用小写字母,单词之间用下划线分隔。例如,“student_count”或“total_income”。

函数名应使用驼峰命名法(camelCase),除了第一个单词的首字母外,每个单词的首字母都大写。例如,“calculateTotalIncome”或“getStudentCount”。

常量名应使用全大写字母,单词之间用下划线分隔。例如,“PI”或“MAX_STUDENT_COUNT”。

类名应使用帕斯卡命名法(CamelCase),每个单词的首字母都大写。例如,“Student”或“CourseEnrollment”。

避免使用其他程序员可能不熟悉的缩写或首字母缩略词。

避免使用保留字或关键字作为变量或函数名。

C++ 代码(命名约定)

输出

We have 8 pieces of fruit.
Number of customers: 10
Average sale amount: 25.5
Customer name: John Smith

命名约定的优点

以下是使用一致的 C++ 命名约定的每个优点的示例

提高可读性:使用一致的命名约定可以通过查看变量或函数的名称来更轻松地理解其用途。例如,如果您始终对变量使用驼峰命名法,对函数使用帕斯卡命名法,那么一眼就能清楚哪些是变量,哪些是函数。

C++ 代码

输出

We have 8 pieces of fruit.

增强可维护性:一致的命名约定可以帮助您更轻松地在代码中查找特定的变量或函数。例如,假设您始终为存储特定类型数据的变量使用特定的前缀或后缀(例如,字符串使用“str”,数组使用“arr”)。在这种情况下,当您需要进行更改时,会更容易找到该类型的​​所有变量。

C++ 代码

输出

Hello, world!

减少错误:使用一致的命名约定可以通过更容易地识别名称相似但用途不同的变量或函数来帮助减少代码中的错误。例如,假设您始终为存储特定类型数据的变量使用特定的前缀或后缀(例如,字符串使用“str”,数组使用“arr”)。在这种情况下,更容易发现因在给定上下文中使用了错误类型的​​变量而导致的错误。

C++ 代码

输出

Number of customers: 10
Average sale amount: 25.5
Customer name: John Smith

增加协作:一致的命名约定可以使多个人更容易地处理同一个代码库,因为它有助于确保每个人都使用相同的命名约定。这有助于避免混淆并减少合并代码更改时的冲突风险。

C++ 代码

输出

Hello, world!

提升专业性:遵循一致的命名约定可以体现专业精神和对细节的关注,这在与客户合作或在专业环境中工作时尤其重要。使用一致的命名约定还可以使您的代码在视觉上更具吸引力,并且更容易阅读,这在任何情况下都可能是一笔宝贵的财富。

C++ 代码

输出

We have 8 pieces of fruit.

命名约定的缺点

在 C++ 中使用命名约定存在一些潜在的缺点

额外的工作量:遵循一致的命名约定需要付出额外的努力和纪律,因为您必须记住在每次命名变量或函数时都使用正确的约定。如果您正在与具有不同命名约定的团队合作,或者正在处理需要您遵循与您习惯不同的特定命名约定的项目,这可能特别具有挑战性。

C++ 代码

输出

We have 8 pieces of fruit.

局限性:使用一致的命名约定也可能有限制,因为它可能会限制您可以为变量或函数使用的名称。例如,如果您使用的命名约定要求您为特定类型的变量使用特定的前缀或后缀,则可能无法使用您原本倾向的某些名称。

C++ 代码

输出

Customer name: John Smith

潜在的冲突:不同的人或团队在命名约定方面可能有不同的偏好,如果每个人没有达成共识,可能会导致冲突。如果您正在处理一个有许多贡献者的大型项目,这尤其成问题。

C++ 代码

输出

We have 8 pieces of fruit.

缺乏灵活性:根据您正在使用的命名约定,它可能并不总是最适合或最直观的选择。例如,如果您使用要求您对变量使用驼峰命名法的约定,您可能不得不为那些使用下划线或其他分隔符更能自然表达的变量想出不太直观的名称。

C++ 代码

输出

Number of customers:

C++、Python、Java 和 C 都是具有变量和函数命名约定的编程语言。以下是这些语言遵循的命名约定之间的一些主要区别:C++:在 C++ 中,变量和函数通常使用驼峰命名法(camelCase)命名,其中第一个单词的首字母除外,每个单词的首字母都大写(例如,“numberOfApples”)。常量变量通常使用全大写(ALL_CAPS)命名,单词之间用下划线分隔(例如,“MAX_CUSTOMERS”)。

示例

输出

We have 8 pieces of fruit.
MAX_CUSTOMERS is 100.

Python:在 Python 中,变量和函数通常使用蛇形命名法(snake_case)命名,单词之间用下划线分隔(例如,“number_of_apples”)。常量变量通常使用全大写(ALL_CAPS)命名,单词之间用下划线分隔(例如,“MAX_CUSTOMERS”)。

示例

输出

We have 8 pieces of fruit.
MAX_CUSTOMERS is 100.

Java:在 Java 中,变量和函数通常使用驼峰命名法(camelCase)命名,其中第一个单词的首字母除外,每个单词的首字母都大写(例如,“numberOfApples”)。常量变量通常使用全大写(ALL_CAPS)命名,单词之间用下划线分隔(例如,“MAX_CUSTOMERS”)。C:在 C 中,变量和函数通常使用蛇形命名法(snake_case)命名,单词之间用下划线分隔(例如,“number_of_apples”)。

常量变量通常使用全大写(ALL_CAPS)命名,单词之间用下划线分隔(例如,“MAX_CUSTOMERS”)。需要注意的是,这些只是一般的约定,在任何这些语言中都可以使用不同的命名约定。但是,通常最好遵守您所从事的语言或社区所遵循的约定,因为它使他人更容易阅读和理解您的代码。

示例

输出

We have 8 pieces of fruit.
MAX_CUSTOMERS is 100.

下一主题动态数组