C++中私有成员函数的良好命名约定?

Kir*_*rov 4 c++ naming-conventions private-methods

对于会员,我使用

//.......vv
SomeType m_XXX;
//.......^^
Run Code Online (Sandbox Code Playgroud)

我喜欢_用作成员函数的前缀,但名称以___以保留开头且不应使用.

我的想法是,当我有:

SomeClass myObject;
myObject.[XXX]
Run Code Online (Sandbox Code Playgroud)

当用户(lib)写入dot(.)时,只能查看所有函数(一个接一个)public.

这有一个共同的命名约定吗?

我知道,我可以使用pImpl或继承接口和实现类

Ton*_*roy 12

最常见的做法是命名成员函数,不带任何公共前缀或后缀.就个人而言,我认为区分它们没有任何好处,如果你的动机与"写点(.),查看所有功能"有关,那么听起来你应该配置或更改你的编辑器,而不是改变你的编程风格以适应它.

  • +1同意,一个体面的编辑应该为你做 (3认同)
  • @MaximYegorushkin - 对不起? (3认同)
  • @Maxim:Maxim 不是这样......我实际上已经在不止一个系统上工作过......样本量是大约十几家公司的数十个独立项目,加上所有的在线材料、书籍等。我见过。足以让我认识到一些大趋势。例如,人们可能会认为这个讨论将完全是浪费时间,因为已经看到太多这样的讨论。如果您认为自己的俏皮话很聪明或很有见地,请再想一想! (2认同)

Max*_*kin 5

一个好的约定是尾随下划线,like_this_.前导下划线是Python方式,但是,在C++中,所有以下划线开头的标识符都保留用于实现.

另一个选择是始终使用成员访问前缀this.

  • 以下划线后跟大写字母开头的名称将保留给实现.以下划线后跟小写字母开头的名称保留给实现**以用于全局范围**.在非全局范围内,前导下划线后跟小写字母是可以的.这不是认可...... (13认同)