2010-01-22 16 views
6

Estoy tratando de escribir mi código de manera fácil de mantener y de entender, y pensé en incluir el tipo de datos que una variable contiene en su nombre.PHP - ¿Vale la pena incluir el tipo de datos en el nombre de la variable?

por ejemplo:

$intCurrentLine = 1; instead of $currentLine = 1; 
$strUser = 'blah'; instead of $user = 'blah'; 

No creo que sea realmente necesario en el ejemplo anterior, pero puede ser útil en algunos casos?

  • ¿Esto podría hacer que mi código sea más comprensible?
  • ¿Debería usar esto o seguir con los nombres de las variables "normales"?
  • ¿Conoces las secuencias de comandos donde se usa?

mejores deseos, lamas

Respuesta

8

Adición del tipo al nombre de la variable se llama Hungarian Notation.

Es una cuestión de estilo en lenguas sin tipo, tales como PHP y VB. Prefiero no usar porque no hay una necesidad real.

Este es un buen artículo sobre el tema. http://www.joelonsoftware.com/articles/Wrong.html

+0

VB (ambos clásico y .NET) tiene tipos, es solo que el tipo predeterminado es el tipo de variante genérico. – Powerlord

+0

Sin embargo, la notación proviene del mundo VB .net debido a la variante. – Yada

1

estaba listada que en las clases de programación de la universidad, pero en el mundo real lo encontró inútil. Solo trato de hacer que el nombre de la variable sea descriptivo y que generalmente transmite de qué tipo es. Por ejemplo firstName significa cadena para mí, o en su caso currentLine significa int.

pienso todo el tiempo que estás descriptivos y precisos en su denominación ya es suficiente.

1

que sin duda le ayuda a saber qué tipo de datos son variables sin tener que utilizar ctype o similar.

Si intenta dar los nombres de sus variables que implícitamente definen su tipo, como $userName, no debería tener demasiados problemas.

+0

Cosas como $ usuario serían las cosas que hacen los que menos problemas .. Piense en las cosas como $ usersCurrent - podría ser una matriz, un número entero o solo una cadena que contiene una lista separada de usuarios: O – lamas

+3

@lamas, ese era su punto más o menos. $ usersCurrent es un ejemplo de una variable mal llamada. $ currentUserCount o $ currentUsers serían más indicativos de los datos. – Langdon

1

Mi regla de oro es que el tiempo que su variable tiene un nombre inequívoco que no hay necesidad de anotar que con el tipo así.

1

Esto se llama hungarian notation y considera una mala práctica.

De acuerdo con Robert C. Martin, autor de "Código limpio", las codificaciones de tipo "dificultan el cambio del nombre o tipo de una variable, función o clase. Hacen que sea más difícil leer el código. crea la posibilidad de que el sistema de codificación engañe al lector ".

No los uses. Elija sus nombres de variables sabiamente.

0

No creo que el tipo de variable aporte tanta comprensión. Sugiero que debe utilizar significativas nombres como

$currentLineNumber = 1; instead of $currentLine = 1; 
$userName = 'blah'; instead of $user = 'blah'; 

Aunque en este caso $currentLine hace bastante claro lo que significa.

En contraste, incluso si agrego el tipo, no es necesariamente más fácil de entender lo que la variable realmente hace, p. $floatNumber contra $numberOfStores.

1

No soy un entusiasta de la notación húngara. Esta es mi opinión personal y soy deliberadamente subjetivo en este asunto.

Strip out hungarian notation from a PHP file

  1. Podría esto hacer mi código sea más comprensible?
    • No, es inútil
  2. ¿Debo utilizar realmente esto o seguir con los nombres de variables "normales"?
    • Stick con los nombres normales
  3. ¿Sabe scripts en los que esto se utiliza?
    • Sí, pero no importa
0

por lo general, estoy usando $ SVAR para cuerdas, $ Ivar para enteros, $ Avar para las matrices, etc. (donde se Var OFC reemplazado con el nombre de las variables). Es una pequeña adición y bastante más clara para mí.

0

Puede especificarlo en sus comentarios.

Algo así como

/* 
* 
* @var string 
*/ 

$your_var = ''; 

Si usted tiene una buena ide que se darán cuenta de estas cosas :)