Nome migliore per array indicizzato da id con valore booleano
-
03-07-2019 - |
Domanda
Sono ossessionato dai migliori nomi per array e variabili che utilizzo, cercherò parole nel dizionario dei sinonimi, nel dizionario, ecc.
Quindi sto cercando di nominare questo array / struttura:
$nameMe = array(
'392' => TRUE,
'234' => TRUE,
'754' => TRUE,
'464' => TRUE,
);
e viene utilizzato per verificare se quell'ID ha una determinata proprietà, in questo modo
if(isset($name[$id])) {
doSomething();
}
Il problema è che sto ottenendo nomi di variabili molto lunghi come
$propertyNameArrayIdIndexed
Qualche idea su come posso meglio nominare questa particolare funzione di array? o nomi migliori in generale
Soluzione
$hasProperty[$id]
o
$isSomething[$id]
Che cos'è esattamente la proprietà?
$isOdd[$id]
$isWriteable[$id]
$hasAssociatedFile[$id]
Altri suggerimenti
Nulla di sbagliato nei nomi di variabili lunghe, purché descrivano ciò che la variabile sta facendo, piuttosto che come viene dichiarata o definita.
Vorrei rilasciare " Array " dai nomi delle variabili.
Una funzione che ha usato l'array può essere chiamata come:
IsPropertyAvailable? ($ Id)
o solo
IsAvailable? ($ Id)
se correttamente incapsulato.
Quindi la struttura di dati associata per l'interrogazione potrebbe essere denominata
$ availableIds
Nomina le variabili in base al loro " ruolo " (nel senso UML) non il loro tipo. Quindi, il nome proprio per la variabile dovrebbe dipendere molto da dove e come viene usato. Conoscere semplicemente il tipo di struttura dei dati non è sufficiente per dargli un nome appropriato. Quindi, supponiamo di avere un elenco di proprietà, ognuna delle quali può essere renderizzata come icona. Tralascerei qualsiasi indicazione di tipo e lo dichiarerei come Set<Property> displayableIcons
.
Anche se stai usando la notazione ungherese, il tipo effettivo non dovrebbe far parte del nome, ma qualche qualificatore o indicazione di un sottotipo informale andrebbe bene, come String b64JpgMugshot
.
Volete che il vostro codice legga il più possibile l'inglese semplice. In parole povere finiresti con qualcosa del tipo;
Se l'auto è rossa Fai le cose con la macchina rossa
Quindi la mia raccomandazione è di evitare di introdurre computerese non necessari ("array", "proprietà", "indice" ecc.) nella denominazione della variabile. Il tuo linguaggio di programmazione sta imponendo & Quot; isset & Quot; su di te. Va bene, questo chiarisce che hai una serie di booleani e significa che puoi semplicemente dire;
if (isset (rosso [car_idx])) doSomething ();
Riepilogo: penso che l'array debba essere chiamato semplicemente come proprietà per cui si sta provando. Se il nome della proprietà è un simpatico aggettivo in lingua inglese che si applica a un sostantivo o meno, la natura booleana della matrice è evidente anche senza isset (). Così semplicemente;
Rosso [], Oblungo [], Grande []
Not IsRed [], IsOblong [], IsLarge [] perché il extra " È " oltre a quello in isset () è ridondante.
propertyNameable, IspropertyNameable.
l'array conterrà solo true
? In tal caso, direi di modificare la struttura dei dati in qualcosa del genere:
$availableIds = array(392, 234, 754, 464);
e quindi le tue if
dichiarazioni sono molto più significative:
if (in_array($myId, $availableIds)) { ... }
Uso solo dah [].
Concordo con altri commentatori sul fatto che la domanda sembra mancare di un contesto adeguato per una corretta denominazione concisa, ma qualcosa di generico come capace ['pippo'], abilitato ['bar'] o pronto ['ack'] potrebbe funzionare.