Domanda

Nell'elaborazione dei dati, ho spesso bisogno di creare una struttura di dati di ricerca per mappare un identificatore a un altro. Ad esempio concreto, prendiamo una struttura che contiene una mappatura da 1 a 1 tra il codice di 2 caratteri di un paese e il suo nome completo. In esso avremmo

AD -> Andorra   
AE -> United Arab Emirates  
AF -> Afghanistan

Qual è un buon nome per la variabile che contiene questa mappa? Alcune idee (userò i nomi dei casi di cammello):

countryNameByCode
nameByCodeLookup
nameCodeLookup
codeToName
È stato utile?

Soluzione

Il mio voto sarebbe per codeToName in questo caso particolare, e immagino che generalizzi. Questo non vuol dire che è il nome che mi sarei scelto in tutti i casi; dipende molto dall'ambito, dall'ulteriore incapsulamento e così via. Ma sembra un buon nome, ciò dovrebbe aiutare a rendere leggibile il tuo codice:

String country = codeToName["SV"];

Sembra abbastanza carino, dovrebbe essere facilmente comprensibile da chiunque. Possibilmente cambiare la parola "codice" a qualcosa di più preciso ("countrycode") sarebbe la mia prossima scelta).

Altri suggerimenti

country_name = countries_by_code[country_code]

Supera la dettatura telefonica & # 8220; & # 8221; test e suona più come un linguaggio naturale.

Mi piace usare i plurali per le raccolte.

countryNames

Modifica: countryCodes è errato perché stai mappando da un codice a un nome.

Di solito lo faccio in questo modo:

countryCodeMappingByName

O se la mappatura è unica, semplicemente:

countryCodeMapping

RWendi

Usa qualcosa che suona bene quando lo pronunci. Questo significa anche nominare le variabili chiave in modo appropriato. Esempio:

countryName = countries[countryCode];

Questo ha perfettamente senso: dai a paesi un countryCode e restituisce un countryName . Ciò sarebbe ridondante:

countryName = countryCodesToNames[countryCode];

In C #, chiamerei un tipo che fa questo CountryCodeToNameMapping . Di solito chiamerei una variabile countryCodeToNameMapping , ma in alcuni contesti molto ristretti ( ad esempio , lambdas), probabilmente la chiamerei c o m .

Un altro voto per aver solo pluralizzato ciò su cui stai mappando.

ad es. country = paesi [code]

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top