我的大部分编程知识都是自学成才的,所以我从来没有教过适当的设计模式,约定等等.
我最近一直在挖掘我公司的许多软件库,我注意到很多班级数据成员都在他们的名字中有下划线.
例如:
class Image
{
// various things
// data members
char* _data;
ImageSettings* _imageSettings;
// (and so on...)
};
Run Code Online (Sandbox Code Playgroud)
我在很多在线示例代码中都看到了这一点.这个惯例背后有原因吗?对不起,我无法提供更好的例子,我真的想记住我的头脑,但我看到了很多.
我知道匈牙利符号,但我试图掌握用于C++ OOP编程的所有其他约定.
它只是想明确哪些变量是成员,哪些不是.没有更深层的含义.在实现成员函数时,混淆的可能性较小,您可以选择更简洁的名称.
void Class::SomeFunction() {
int imageID;
//...
SetID(imageID + baseID); //wait, where did baseID come from?
}
Run Code Online (Sandbox Code Playgroud)
就个人而言,我把下划线放在最后而不是开头[如果你意外地跟随一个带有大写字母的前导下划线,你的代码就会形成错误].有些人放mBlah或m_Blah.其他人什么都不做,并且this->blah在可能出现混淆时明确地用它来表示他们的成员变量.没有全球标准; 为私人项目做你想做的事,并坚持其他地方的现有做法.
| 归档时间: |
|
| 查看次数: |
8711 次 |
| 最近记录: |