在C ++中命名函数的惯例是什么?
我来自Java环境,所以我通常命名为:
myFunction(...) {
}
我在C ++中看到了混合代码,
myFunction(....)
MyFunction(....)
Myfunction(....)
正确的方法是什么?
此外,对于类方法和非类方法,它是否相同?
答案 0 :(得分:39)
没有'正确的方法'。虽然有一些约定,但它们在语法上都是正确的。您可以关注Google style guide,尽管还有其他人。
来自上述指南:
常规功能情况喜忧参半;访问器和mutator匹配变量的名称:MyExcitingFunction(),MyExcitingMethod(),my_exciting_member_variable(),set_my_exciting_member_variable()。
答案 1 :(得分:34)
从C ++ 11开始,您可能希望将snake_case
或camelCase
用于函数名称。
这是因为要使一个类作为range-based for-loop中的范围表达式工作,您have to定义了名为begin
和end
(区分大小写)的函数那个班。
因此,使用例如PascalCase
对于函数名称意味着如果您需要使用基于范围的类来处理类,则必须打破项目中的命名一致性。
答案 2 :(得分:25)
我见过的大部分代码都是camelCase
函数(小写首字母)和ProperCase/PascalCase
类名,以及(最常见的)snake_case
个变量。
但是,说实话,这只是指导。最重要的是在整个代码库中保持一致。选择看似自然/适合你的东西,并坚持下去。如果您正在加入正在进行的项目,请遵循他们的标准。
答案 3 :(得分:15)
我在生产代码中看到的最常见的是(按此顺序):
myFunctionName // lower camel case
MyFunctionName // upper camel case
my_function_name // K & R ?
我发现程序员在C ++代码中使用的命名约定通常与他们的编程背景有关。
E.g。 ex-java程序员倾向于使用较低的驼峰案例来实现函数
答案 4 :(得分:11)
如果你看一下standard libraries the pattern generally is my_function,但每个人似乎都有自己的方式: - /
答案 5 :(得分:5)
与Java不同,C ++没有“标准样式”。我曾经工作的几乎所有公司都有自己的C ++编码风格,大多数开源项目也都有自己的风格。您可能需要查看的一些编码约定:
值得注意的是,C ++编码标准通常会指定不使用语言的哪些部分。例如,Google C ++样式指南说“我们不使用C ++例外”。我工作过的几乎所有地方都禁止使用C ++的某些部分。 (我工作的一个地方基本上说,“用C编程,但是new
和delete
没问题”!)
答案 6 :(得分:4)
我认为这是一个偏好问题,虽然我更喜欢myFunction(...)
答案 7 :(得分:4)
正如其他人所说,C ++中没有这样的东西。话虽如此,我倾向于使用标准库编写的风格 - K& R上。
答案 8 :(得分:3)
按照自己的意愿行事,只要你的开发人员保持一致。组。 每隔几年公约就会改变.....(remmeber nIntVAr)......
答案 9 :(得分:3)
没有那么多'正确'的语言方式。这是个人偏好或您的团队的标准。我在做自己的代码时经常使用myFunction()。另外,你在C ++中经常看到的一种风格是my_function() - 没有大写字母,下划线而不是空格。
真的只是由你工作的代码决定。或者,如果这是你自己的项目,那么你自己的个人偏好。
答案 10 :(得分:2)
这完全取决于你对正确的定义。您可以通过多种方式评估编码风格。可读性是一个重要的(对我而言)。这就是我使用my_function
方式编写函数名和变量名的原因。