C++ 公共和私有变量的命名约定?
使用MyValNeNeX为公共,与YO变量为私有的类相同,但假设您使用C++,我的答案是否定的。这是完全合理的,但您应该真正遵守这个约定。< /P> 然而,C#等静态类型语言假定这样的命名约定有些冗余C++ 公共和私有变量的命名约定?,c++,C++,使用MyValNeNeX为公共,与YO变量为私有的类相同,但假设您使用C++,我的答案是否定的。这是完全合理的,但您应该真正遵守这个约定。< /P> 然而,C#等静态类型语言假定这样的命名约定有些冗余 我个人认为这很难看,但在C++中变量的来源并不清楚,因为糖可能有帮助。 < P>每个人都有自己的偏好,就命名约定而言。我想说,更多的人会同意在一个类中不包含任何公共变量。一些问题: 为什么有公共变量 以和开头的标识符保留给系统库。实际上,这并不重要,但意识到这一点很好 说到这里,创建命名约定没
我个人认为这很难看,但在C++中变量的来源并不清楚,因为糖可能有帮助。 < P>每个人都有自己的偏好,就命名约定而言。我想说,更多的人会同意在一个类中不包含任何公共变量。一些问题:
- 为什么有公共变量
- 以和开头的标识符保留给系统库。实际上,这并不重要,但意识到这一点很好
说到这里,创建命名约定没有什么错,不管它看起来如何。只是一致。< P> C++和java都一样:你不需要匈牙利符号,也不需要任何前缀/后缀。你有关键词“这个” 当然,在这个简单的示例中,您可以(应该!)使用构造函数初始化列表;) 因此,使用任何笨拙的符号只是利用语言的可能性。当您知道成员变量的名称时,您就知道它是完美的。你为什么要用“u”来混淆它
至于对公共和私人成员使用相同的名称:这绝对是错误的想法!为什么在同一个类中需要两个事物来表示相同的事物?将其命名为私有,并将getter和setter命名为public。您不应使用以下划线开头或包含双下划线的名称。这些名称是为编译器和实现保留的。除此之外,您还可以使用您和您的团队喜欢的任何命名约定。就个人而言,我讨厌任何形式的“匈牙利”符号,也不喜欢m_something符号。如果我需要改变一个变量的类型,我需要在任何地方更新它的名字,这真的让我很烦恼。这是维护方面的一个难题 >有许多C++约定。关键是找到一个和/或调整一个。坚持下去,保持一致。如果你在某个地方工作,试着记下尽可能多的约定。有这么多的人在那里,每个人都有很好的论点,但他们可以互相矛盾(联合打击战斗机,贝尔实验室,Mozilla,等等) 如果项目的不同部分之间有不同的约定,那么至少要使每个文件本身保持一致,并且.cpp和.h文件应该彼此一致
我发现更好的做法是能够理解由不同约定编写的代码,以便您能够更快地适应新的工作环境。你可能有史以来最糟糕的命名约定,但如果它是一致的,它将提高代码的可维护性。我习惯了这种编码风格,我觉得它非常舒适和清晰:@LihO链接说“你没有查看此内容的权限”。
class MyClass {
private:
int value;
public:
MyClass(int value) {
this->value = value;
}
}