有时,当一个变量为一个数组或列表的对象集合时,它很容易将变量命名为复数。这是好的,还是我们应该始终坚持变量的单数名称?作为一个例子汽车的集合可以称为“汽车”或“汽车”我们应该避免变量的复数名称吗?
考虑另一个例子:
vector<string> students; // it is named as students rather singular student
students.push_back("Mark");
students.push_back("Steve");
// lets say we are using index to retrieve it, it does look
// a little clumsy
string current_student = students[0];
或者我们可以定义容器对象为奇象下面,但它看起来像代表一个单一的对象,而不是收集学生?它确实使得索引看起来更好。
vector<string> student;
另一种选择,我个人喜欢的是这样的:
vector<string> student_list;
我追加“_list”(或者可能是骆驼符号)来收集变量名(不考虑如果向量或列表或地图)。这种方式的名称是单数,但它将自己标识为对象的集合。
哪一种更好的方式或约定,以上更可读?应该复数名称是绝对避免?
也认为另一个简单的例子,以及,说我们正在进行一个实验,我们记录每天的温度在不同的时间间隔的100倍,所以我们:
float temperatures[100]; // or temperature[100]? or temperature_list[100]?
甚至可能是不同的,如:
float temperature_data[100]?
愚蠢的挑剔:'温度_数据'是'temperature_datum'的复数:P –
如果有人真的使用了“数据”这个词,我会同意你的意见。 :)这些日子里,“数据”是一个群体名词,至少和复数一样被认为是单数。 – cHao
这是否也适用于命名空间名称?那么,包含几个策略类的命名空间应该命名为'policies'而不是'policy'? – AlwaysLearning