Pregunta

Me obsesiono con los mejores nombres de matrices y variables que uso, buscaré palabras en el diccionario de sinónimos, diccionario, etc.

Así que estoy tratando de nombrar esta matriz / estructura:

$nameMe = array(
    '392' => TRUE,
    '234' => TRUE,
    '754' => TRUE,
    '464' => TRUE,
);

y se usa para verificar si esa identificación tiene cierta propiedad, como así

if(isset($name[$id])) {
    doSomething();
}

El problema es que obtengo nombres de variables muy largos como

$propertyNameArrayIdIndexed

¿Alguna idea de cómo puedo nombrar mejor esta función particular de matriz? o mejores nombres en general

¿Fue útil?

Solución

$hasProperty[$id]

o

$isSomething[$id]

¿Cuál es exactamente la propiedad?

$isOdd[$id]
$isWriteable[$id]
$hasAssociatedFile[$id]

Otros consejos

No hay nada malo con los nombres largos de variables, siempre que describan lo que está haciendo la variable, en lugar de cómo se declara o define.

Caería " Array " de nombres de variables.

Una función que utilizó la matriz puede llamarse algo así como:

¿Está disponible la propiedad? ($ id)

o simplemente

¿Está disponible? ($ id)

cuando está correctamente encapsulado.

Entonces, la estructura de datos asociada para las consultas podría llamarse

$ availableIds

Nombra las variables por su " role " (en el sentido de UML) no su tipo. Entonces, el nombre propio de la variable debe depender mucho de dónde y cómo se usa. Simplemente conocer el tipo de estructura de datos no es suficiente para darle un nombre adecuado. Entonces, digamos que tiene una enumeración de propiedades, cada una de las cuales puede representarse como un icono. Dejaría de lado cualquier indicación de tipo y lo declararía algo así como Set<Property> displayableIcons.

Incluso si está utilizando la notación húngara, el tipo real no debería ser parte del nombre, pero algún calificador de tipo o indicación de un subtipo informal estaría bien, como String b64JpgMugshot.

Desea que su código se lea lo más parecido posible al inglés simple. En inglés simple, terminarías con algo como;

Si el auto es rojo   Haz las cosas del auto rojo

Por lo tanto, mi recomendación es evitar la introducción de computación innecesaria ('matriz', 'propiedad', 'índice', etc.) en la denominación de la variable. Su lenguaje de programación impone & Quot; isset & Quot; en ti. Está bien, eso deja en claro que tiene una variedad de booleanos y significa que simplemente puede decir;

if (isset (rojo [car_idx]))   dosomething ();

Resumen: Creo que la matriz debería nombrarse simplemente como la propiedad que está intentando probar. Si el nombre de la propiedad es un buen adjetivo en inglés que se aplica a un sustantivo o no, la naturaleza booleana de la matriz es evidente incluso sin isset (). Así que simplemente;

Rojo [], oblongo [], grande []

No IsRed [], IsOblong [], IsLarge [] porque el " adicional es " Además del que está en isset () es redundante.

propertyNameable, IspropertyNameable.

¿su matriz solo va a contener true? Si es así, diría que cambie su estructura de datos a algo como esto:

$availableIds = array(392, 234, 754, 464);

y luego sus if declaraciones son mucho más significativas:

if (in_array($myId, $availableIds)) { ... }

Solo uso dah [].

Estoy de acuerdo con otros comentaristas en que la pregunta parece carecer de un contexto adecuado para nombrar conciso, pero algo genérico como capaz ['foo'], habilitado ['bar'] o listo ['ack'] puede funcionar.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top