如何避免布尔值和返回它的方法之间的名称冲突

时间:2017-09-28 13:41:22

标签: c++ naming name-collision

我们说我有一个处理动画的课程。这个类的内部是一个名为Query query = movieBox.query().filter(movie -> { return genres.contains(genre -> { return "Sci-Fi".equals(genre.getName()) } }).build() 的布尔值和一个返回此布尔值的函数。我的问题是,我该怎么做才能避免调用函数和变量同样的东西?

我考虑过为我的类变量添加前缀,但这意味着要在我的整个代码库中进行更改,这是我不想要的。

2 个答案:

答案 0 :(得分:0)

这完全是命名约定的问题,这里有两个简单的选项:

选项#1 例如,您可以使用UpperCamelCase作为方法名称,使用LowerCamelCase作为成员名称。

class Object {
    bool IsLooped() { return isLooped; }
    bool isLooped;
}

选项#2 您可以将LowerCamelCase用于方法名称和成员名称,并为成员名称使用某种前缀/后缀,例如m_或仅_

class Object {
    bool isLooped() { return m_isLooped; }
    bool m_isLooped;
}

我更喜欢选项号#2,因为它在尝试理解哪些对象是成员时会让生活更轻松。

答案 1 :(得分:0)

预警我不太了解C ++中的流行惯例。

我会保持isLooped相同,并将您的方法重命名为getIsLooped()。我认为这使得这段关系非常清楚。如果公开GetIsLooped()更合适。但显然,其余代码库中使用的约定将影响该决定。