¿Cómo nombrar matrices o listas cuando los sustantivos son singulares y plurales? [cerrado]

9

En general, las variables se nombran en singular Car car;y en matrices y se enumeran con las pluras: List<Car> cars;o Car[] cars;¿Pero qué pasa con los nombres como fisho media* que ya están en plural?

* Ya perdió la batalla para llamar a la clase Medium.

Trineo
fuente
3
"peces" es una forma plural aceptable de "peces", al menos.
Izkata
2
A menudo uso carList/carArray
Bryan Chen
Tengo que estar de acuerdo con @BryanChen. Es muy fácil usar plurales en inglés estándar, pero al ser un idioma natural, hay muchas palabras irregulares. La programación es lógica. Si alguna vez se necesitara una forma de automatizar la obtención o configuración de palabras, sería muy difícil hacerlo con la pluralización estándar. Apoyo usar carList, fishList, etc.
Damien Golding

Respuestas:

10

Hay un par de formas de abordar este problema. Ninguno de ellos es perfecto, pero puedes encontrar una solución viable. La clave es que su equipo necesita idear un enfoque estándar para resolver esto y cumplirlo.

Estas son algunas de las opciones:

  • Diferente capitalización

La variable nombrada singularmente comenzará con un caso (minúscula) mientras que la variable plural comenzará con el otro caso (mayúscula).

 var Fish = new List<fish>();  //plural  
 var fish = Fish[0];           //singular
  • Uso deliberado de gramática incorrecta

Ejemplo:

 var Fishes = new List<fish>();  //plural  
 var fish = Fishes[0];           //singular  

o

 var Meese = new List<Moose>();  //plural  
 var Moose = Meese[0];           //singular
  • Use el nombre del grupo en su lugar

Ejemplo:

 var SchoolOfFish = new List<Fish>();  //plural  
 var Fish = SchoolOfFish[0];           //singular

fuente
3

Creo que nombres como List<Fish> fishestán perfectamente bien. Usamos "pescado" como ambos singular y plural en la escritura; ¿Por qué no hacer lo mismo en el código?

Si desea un singular Fish fishen el mismo ámbito, digamos para iterar, siempre puede cambiar a List<Fish> fishListo List<Fish> listOfFish.

Daniel Lubarov
fuente
66
List <Fish> school
Adrian Schneider
2
sobre todo porque a menudo tienes convenciones de código, for( Book book : books )por lo que el singular ya está tomado o se usará para otra cosa.
Trineo
2

Mi sugerencia sería tratar de usar un nombre más significativo para las variables de la lista. Sin embargo, sé que esto a veces es difícil de hacer.

Por ejemplo, en lugar de List<Car> carsusar algo como List<Car> parkedCars. En lugar de Fish[] fishusar algo como Fish[] availableFish.

Aprendiz del Dr. Wily
fuente
pero cada pez en el conjunto de availableFishes también un availableFish. No creo que sea una gran solución.
Totty.js
El punto es usar palabras descriptivas para componer nombres de variables. Si nombra la matriz availableFishy necesita otra variable para contener uno de los elementos de la matriz, entonces solo tiene que elegir una palabra descriptiva apropiada diferente. Quizás selectedFishfuncionaría. Si no es eso, entonces algo más. Use un diccionario de sinónimos para encontrar la palabra correcta. Por lo menos, incluso podría usarlo fishpara una variable de alcance limitado, porque el nombre ya no se tomó para la matriz.
Aprendiz del Dr. Wily
@ totty-js No, no hay una "matriz de availableFish " en el código anterior. Una matriz de availableFish -s significa availableFish[] insertvariablenamehere;. La única razón por la que está creando confusión es porque está usando una descripción incorrecta del código en inglés. Algunas lecturas precisas en inglés del código incluyen: "hay una gran variedad, availableFish", "hay una matriz denominada availableFish", "hay una Fishmatriz llamada availableFishque contiene los disponibles Fishobjetos" ...
Naki
Una oración correcta que siga la misma forma que la oración en su comentario sería "cada uno Fishen la matriz availableFishes un Fish".
naki