2011-10-05 18 views
5

A veces es tentador nombrar una variable como plural cuando es una colección de objetos como una matriz o lista. ¿Está bien o deberíamos apegarnos siempre a nombres únicos para las variables? Como un ejemplo de una colección de coches que se podría llamar 'coches' o 'coche'¿Deberíamos evitar los nombres en plural para las variables?

Consideremos otro ejemplo:

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]; 

Como alternativa podemos definir el objeto contenedor tan singular como el de abajo, pero qué se parece representar un único objeto ahora en lugar de la colección de estudiantes? Sin embargo, hace que el uso del índice se vea mejor.

vector<string> student; 

Otra opción que personalmente me gusta es algo como esto:

vector<string> student_list; 

añado '_list' (o podría ser la notación camello) a nombre de la variable de recogida (independientemente si su vector o lista o mapa). De esta forma, el nombre del objeto es singular, pero se identifica a sí mismo como una colección de objetos.

¿Cuál es una mejor forma o convención y más legible de lo anterior? ¿Deben evitarse absolutamente los nombres en plural?

también pensar en otro ejemplo más sencillo, así, decimos que estamos llevando a cabo un experimento en el que registrar la temperatura de un día 100 veces en diferentes intervalos de modo que:

 float temperatures[100]; // or temperature[100]? or temperature_list[100]? 

o quizás incluso diferente como:

float temperature_data[100]? 

Respuesta

3

Los plurales están bien - de hecho, llegaría a decir esperado - cuando el nombre se refiere a una colección de elementos (es decir: un conjunto, lista, vector, matriz, etc.). Los nombres como temperature_data pueden ser ambiguos en cuanto a si se refieren a un solo elemento o a un grupo de ellos. temperatures, por otro lado, claramente se refiere a más de uno.

+4

Stupid nitpick: 'temperature_data' es el plural de' temperature_datum': P –

+0

Estoy de acuerdo con usted si alguien en realidad usa la palabra "datum". :) En estos días, "datos" es un sustantivo masivo, y se considera singular al menos tan seguido como es plural. – cHao

+0

¿Sería esto también un nombre de espacio de nombres? Entonces, ¿un espacio de nombres que contenga varias clases de política debería llamarse 'policies' en lugar de' policy'? – AlwaysLearning

6

Err, ¿por qué no estaría bien? Al final, en realidad no importa qué convención se te ocurra, lo que importa es que se use de manera consistente y no afecte la legibilidad de manera negativa.

+2

Sin embargo, tener 'student' * y *' students' en el mismo ámbito plantearía problemas de legibilidad :) –

+0

@MatthieuM .: No lo sé. Definitivamente sería malo tener 'students = student;'. Pero si 'student' es siempre * a * estudiante, entonces podría ser fácilmente un nombre apropiado para la variable que representa al estudiante" actual "mientras recorre los" estudiantes ". – cHao

0

No veo ningún problema en tener plurales, siempre y cuando evite tener el singular y el plural en el mismo ámbito. Simplemente haz las variables descriptivas.

3

Si la cosa/objeto es un plural, debe nombrarlo con un nombre plural.

No creo que el ejemplo students[0] sea confuso en absoluto. Lo leí como "estudiantes-bajo cero", que básicamente significa obtener lo que está en el índice cero de los estudiantes. Si he nombrado las cosas correctamente, debería ser obvio que la cosa es un estudiante (singular).

+0

Actualmente, tengo los arrays 'particles',' ions' pero 'surfactant' en un programa, ya que' surfactants' se referiría a múltiples tipos de surfactante en lugar de múltiples moléculas surfactantes del mismo tipo. Estoy un poco incómodo con eso ... –

Cuestiones relacionadas