2008-12-12 14 views
7

He leído muchos manuales de estándares populares para proyectos PHP de código abierto.PHP - Nombre de función/variable

Muchos aplican guiones bajos para espacios de variables, y mucho hacen cumplir camelCase.

¿Las funciones y variables globales deben tener un nombre diferente a los métodos/propiedades de clase?

Sé que lo más importante es la consistencia, pero me gustaría escuchar algunas ideas al respecto.

¿Qué recomendarías?

Respuesta

13

Encuentro camelCase un poco más agradable de escribir, porque el guión bajo me resulta un poco incómodo de escribir.

No utilice variables globales.

Evito la codificación de procedimientos en PHP, encuentro que OOP es más fácil de mantener las cosas organizadas. Además, ¿PHP ya no tiene suficiente material en su espacio de nombres global?

general I tratar de atenerse a:

  • clases son StudlyCaps sustantivos singulares o plurales, según sea apropiado: Item, , DB, Items.
  • variables son nombres en minúscula, en singular o plural dependiendo de lo que tienen: $column, $name
  • Las constantes son sustantivos singulares en mayúsculas: DEBUG, TYPE_FOO.
  • Los métodos son camelCase, y comienzan con verbos singulares (get, perform, do), seguido de un sustantivo (singular o plural) que describe lo que opera en o retornos (getThing(), getThings())

Definitivamente depende en lo que estás codificando Si estoy codificando PHP o PEAR, uso camelCase. Si estoy haciendo Python/Django, uso under_scores. Si estoy escribiendo ELisp, uso separadores discontinuos.

+1

De acuerdo, estoy en el proceso de aprender OO y lo que es una clase estática (para mover todos mis formateadores de cadenas etc. fuera del espacio de nombres global) – alex

+0

No estoy de acuerdo, vea [esto] (http://stackoverflow.com/a/1557799/1870054), hablan sobre las variables globales, no siempre son malas. – wener

0

Sí, lo más importante es la consistencia. Si eres el desarrollador solitario, sigue con un método. Si está trabajando con un equipo, hable con los otros miembros del equipo. Diferenciar entre globales, funciones/métodos y clases hará que leer el código sea mucho más fácil. Para algunas personas, camelCase es más fácil que usar_underlines, por lo que su equipo necesita analizar las opciones y elegir un estilo.

0

Nota: utilizo guiones para mis table_names MySQL, utilizo UpperCamelCase para MySQL nombres de campo:

Normalmente utilizo $ lowerCamelCase de nombres y propiedades de la clase variable, pero si contiene el valor de un campo, Yo uso el nombre de campo $ UpperCamelCase, o si es una matriz de datos de una tabla, usaré $ table_name. De esta manera puedo fácilmente grep para SomeField o some_table y encontrar todo lo que se refiere a ella.

No tiene que utilizar este sistema exacto, pero poder buscar todas las referencias a un campo o tabla es una gran ventaja.

2

En PHP en sí, casi todas las funciones nativas están separadas por guiones bajos.La mayoría de los ejemplos de código PHP en la documentación están separados por guiones bajos.

En la mayoría de los idiomas, creo que Camel o Pascal Casing es más apropiado, pero creo que hay una clara historia para usar la separación de subrayado en PHP.

0

Yo solía preferir usar camelCase, pero por el bien de la coherencia en aplicaciones más grandes, he adoptado la guía de estilo de CodeIgniter.

Incluso si usted no usa su marco, se puede apreciar el trabajo que entró en estilos que definen clara y completa: http://codeigniter.com/user_guide/general/styleguide.html

1

Zend Frameworks naming convention (que se basa en PEAR) es, probablemente, el más cercano se llega a una norma en el mundo de PHP. Personalmente, prefiero usar lowercase_underscore para los nombres de las variables, pero de lo contrario, principalmente sigo la convención de ZF.

0

Mi objetivo, cualquiera que sea el formato específico del nombre, es agregar más información. ¿El nombre mejora la comprensión del código y/o expresa algo importante?

Si lo hace, grande, entonces usted ha tenido éxito en ella.

Si el nombre no añade nada, ¿por qué se molestó nombrarlo?

escribí en este caso a principios de esta semana:

http://caseysoftware.com/blog/useful-naming-conventions

0

Yo recomendaría leer el PEAR Coding Standards. Como PEAR es el repositorio oficial de extensiones y aplicaciones de PHP, puede considerarse el estándar de codificación oficial del idioma.

Cuestiones relacionadas