变量命名:成员识别与易用性

时间:2015-05-28 15:40:33

标签: c++

我正在为自己写一个小库,它有一个包含带有立方体坐标x,y和z的六边形的类。现在我通常使用前导m标记我的成员变量,例如int mPosition;或mX,mY,mZ,在这种特定情况下。这将导致getter被命名为getmX()。

这非常简单,但在某种程度上不像getX()那样可读。你会说在类中使用mX是可以接受的,但是将公开可见的getter重命名为getX()吗?或者有理由保持一致吗?没有公开的二传手。

2 个答案:

答案 0 :(得分:9)

  

这会导致getter被命名为getmX()。

不,它不会。

  • 该实体被称为" x
  • 您用来表示该实体的成员变量是mX
  • 您用于访问该实体的getter函数是getX()
但是,我不会在吸气者和制定者的道路上走得太远;当只是像这样简单地包装单个变量时,它们有点像反模式。

此外,无论你想要什么,都可以打电话。

答案 1 :(得分:1)

私有变量具有前导m的事实是实现细节,客户端不应该依赖它。

您的获取者是公开的,即使您更改了实施,也不应该更改。 因此,这不是一个易于使用的问题。您应该编写getX()以获得更好的封装。