在之前的一个问题中:
How do you reconcile common C++ naming conventions with those of the libraries
有人建议我们应该使用class_name
作为类名。我的问题是:
struct car {};
car car; //<-- cannot name my vars like i want them
car car1; //<-- error
所以我不得不这样命名我的变量:
car c;
我不确定这是否会使我的代码更具可读性。在途中将使用大写的类名:
Car car;
然后你又回到了名字惯例冲突的方方面面。
我正在寻找解决这个问题的想法。
顺便说一下,我是class_name
惯例的忠实粉丝,我想用它。唯一的问题是我提到的变量名称。
答案 0 :(得分:3)
struct car {};
car car; // not a good variable name, but legal
struct car car1; // no error
无论你命名什么类型,提出一个更好的变量名称都会很好。这取决于你实际使用变量的内容。
void shoot(Car target) { // in a game involving shooting at cars
void register(Car patient) { // in a program having something to with fixing cars
for (Car &potential_winner : participants) { // in a racing game
关于大写字母名称;您定义的类型不必与标准库的样式匹配。就个人而言,我更喜欢将专门的,特定领域的组件在风格上区别于通用组件。
我喜欢大写应用程序特定类型。我使用PascalCase
还是Caps_and_underscores
取决于语言。