denominazione raccolta - singolare o plurale [chiuso]

5

Questo è correlato a questa domanda ma non esattamente la stessa cosa. A proposito, non sono un madrelingua inglese.

Continuo a non riuscire a scegliere un nome appropriato per le raccolte - Diciamo che abbiamo una collezione di elemento e che ogni oggetto ha un nome . Come chiameremo la raccolta di nomi tale che il nome della raccolta sarà il più comprensibile in convenzioni standard di denominazione?

var itemNames = GetItemNames(); // Might be interpreted as a single item with many names
var itemsNames = GetItemsNames(); // No ambiguity but doesn't look like proper English
var itemsName = GetItemsName(); // Also sounds strange, and doesn't seem to fit in e.g. a loop:
foreach( itemName in itemsName){...}

In qualità di madrelingua inglese, come chiameresti le tue raccolte e come ti aspetteresti che fossero nominate?

    
posta moranlf 01.09.2013 - 11:59
fonte

2 risposte

4

Che dire GetNamesOfItems ?

Altrimenti, GetItemNames può essere una buona alternativa, se la documentazione è chiara su ciò che viene restituito. Ciò dipende anche dagli oggetti stessi:

  • GetPersonNames non è chiaro, dal momento che una persona può avere più nomi,

  • GetProductNames è più esplicito in un contesto in cui un prodotto può avere un solo e unico nome.

GetItemsNames sembra davvero piuttosto strano.

GetItemsName è semplicemente errato: prevediamo come risultato un nome comune condiviso da più elementi, non una sequenza di nomi.

Ad esempio, prendi un metodo che restituisce i prezzi dei prodotti in una categoria:

public Money[] NameHere(CategoryId categoryId) { ... }
  1. GetProductPrices avrebbe potuto essere interpretato in due modi: o restituisce i prezzi dei prodotti, o diversi prezzi di un prodotto, un prezzo per valuta. In pratica, dato che il parametro del metodo è una categoria e non un singolo prodotto, è ovvio che la prima alternativa è vera.

  2. GetPricesOfProducts appare l'alternativa più chiara. Ci sono zero o più prodotti in una categoria, e per ognuno, restituiamo il suo prezzo. L'unico problema è il caso in cui ci sono in realtà diversi prezzi per prodotto, un prezzo per valuta.

  3. GetProductsPrices sembra strano, ma è ancora chiaro.

  4. GetProductsPrice sembra completamente sbagliato: prevediamo che tale metodo restituisca Money , non Money[] .

Si noti inoltre che nell'esempio sopra, potrebbe essere ancora meglio cambiare leggermente la firma stessa:

public Tuple(ProductId, Money)[] GetPricesOfProducts(CategoryId categoryId) { ... }

sembra più facile da capire e rimuove l'ambiguità descritta nel secondo punto.

    
risposta data 01.09.2013 - 12:21
fonte
0

In inglese, questo sarebbe "ottenere i nomi degli oggetti". Se vuoi pensare a un "nome oggetto" come una cosa indipendente, anche "ottenere i nomi degli oggetti" sarebbe accettabile. Qui avrei usato GetItemNames() senza un secondo pensiero, quindi consiglierei quello o GetNames(items) o items.GetNames() .

    
risposta data 01.09.2013 - 12:51
fonte

Leggi altre domande sui tag