Como nomear matrizes ou listar quando os substantivos são singular e plural? [fechadas]

9

Geralmente, as variáveis ​​são nomeadas no singular Car car;e nas matrizes e listadas com as pluras: List<Car> cars;ou Car[] cars;Mas e os substantivos como fishou media* que já são plurais?

* já perdeu a batalha para chamar a classe Medium.

Trenó
fonte
3
"peixes" é uma forma plural aceitável de "peixe", pelo menos.
precisa saber é o seguinte
2
Eu costumo usar carList/carArray
Bryan Chen
Eu tenho que concordar com @BryanChen. É muito fácil usar os plurais padrão do inglês, mas sendo um idioma natural, existem muitas palavras irregulares. A programação é lógica. Se alguma vez houvesse uma maneira de automatizar a obtenção ou a definição de palavras, seria muito difícil fazer com a pluralização padrão. Eu apoio usando carlista, fishList, etc.
Damien Golding

Respostas:

10

Existem algumas maneiras de resolver esse problema. Nenhum deles é perfeito, mas você pode encontrar uma solução viável. A chave é que sua equipe precisa apresentar uma abordagem padrão para resolver isso e cumpri-lo.

Aqui estão algumas das opções:

  • Capitalização diferente

A variável com nome singular começará com uma caixa (minúscula), enquanto a variável plural começará com a outra caixa (maiúscula).

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

Exemplo:

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

ou

 var Meese = new List<Moose>();  //plural  
 var Moose = Meese[0];           //singular
  • Use o nome do grupo

Exemplo:

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

fonte
3

Eu acho que nomes como List<Fish> fishestão perfeitamente bem. Usamos "peixe" tanto no singular quanto no plural por escrito; por que não fazer o mesmo no código?

Se você deseja um singular Fish fishno mesmo escopo, por exemplo, para iterar, sempre pode mudar para List<Fish> fishListou List<Fish> listOfFish.

Daniel Lubarov
fonte
6
List <Fish> escola
Adrian Schneider
2
principalmente porque muitas vezes você tem convenções de código for( Book book : books )assim, o singular já está sendo usado ou será usado para outra coisa.
Trenó
2

Minha sugestão seria tentar usar um nome mais significativo para as variáveis ​​da lista. Eu sei que isso às vezes é difícil de fazer, no entanto.

Por exemplo, em vez de List<Car> cars, use algo como List<Car> parkedCars. Em vez de Fish[] fish, use algo como Fish[] availableFish.

Aprendiz do Dr. Wily
fonte
mas cada peixe na matriz de availableFishtambém é um availableFish. Não acho que seja uma ótima solução.
Totty.js
O objetivo é usar palavras descritivas para compor nomes de variáveis. Se você nomear a matriz availableFishe precisar de outra variável para conter um dos itens da matriz, bem, basta escolher uma palavra descritiva apropriada diferente. Talvez selectedFishfuncionasse. Caso contrário, então outra coisa. Use um dicionário de sinônimos para encontrar a palavra certa. Se nada mais, você pode usar apenas fishpara uma variável de escopo limitado, porque o nome já não foi usado para a matriz.
Aprendiz do Dr. Wily
@ totty-js Não, não há "array of availableFish " no código acima. Uma matriz de availableFish -s significa availableFish[] insertvariablenamehere;. A única razão pela qual você está criando confusão é porque está usando uma descrição imprecisa do código em inglês. Algumas leituras precisas em inglês do código incluem: "existe uma matriz availableFish", "existe uma matriz denominada availableFish", "existe uma Fishmatriz denominada availableFishque contém os Fishobjetos disponíveis " ...
naki
Uma frase correta que segue a mesma forma que a frase em seu comentário seria "cada um Fishna matriz availableFishé um Fish".
Naki