Continuando el post anterior vamos a ver sobre convención de nombres.
Convenciones del uso de Mayúsculas y minúsculas
Muchas convenciones de nomenclatura hacen uso de las mayúsculas y minúsculas en sus identificadores.
Entre ellas tenemos:
1. Estilo Pascal (PascalCase)
La primera letra del identificador y la primera letra de las siguientes palabras concatenadas están en mayúsculas. El estilo de mayúsculas y minúsculas Pascal se puede utilizar en identificadores de tres o más caracteres, por ejemplo:
ImageSprite
2. Estilo camelCase
La primera letra del identificador está en minúscula y la primera letra de las siguientes palabras concatenadas en mayúscula, por ejemplo:
imageSprite
3. Estilo Mayúsculas (ALL_CAPS)
Todas las letras del identificador se encuentran en mayúsculas ejemplo
IO
4. Estilo minúsculas (small_caps)
Todas las letras del identificador se encuentran en minúsculas ejemplo
system
Esta designación de la convención se utiliza muy poco
Cada lenguaje de programación hace uso de estos estilos según el identificador que use y de acuerdo a su convención.
En la siguiente tabla tenemos, las convenciones usadas por cada lenguaje de progragramción
Tipo | PHP | C# | Java |
Clase | PascalCase | PascalCase | PascalCase |
Constante | ALL_CAPS | PascalCase | ALL_CAPS |
Método | camelCase | PascalCase | camelCase |
Namespace / Package | small_caps (5.3x) | PascalCase | small_caps |
Propiedades | camelCase | PascalCase | camelCase |
Parámetro | camelCase | camelCase | camelCase |
Variable local | camelCase | camelCase | camelCase |
Interface | PascalCase | PascalCase | PascalCase |
Convención de Nombres
La convención de nombres es un conjunto de normas y reglas para la escritura de nombres, código fuente, identificadores y comentarios dentro de la programación, que facilitan y hacen más comprensible su lectura.
1. Clases
- Las clases representan “cosas” y no “acciones”, por tal motivo evitar verbos como nombre de clase.
- El nombre de la clase debe estar en singular, salvo que la clase represente multiplicidad de cosas.
- Las Nombres de las clases deberían ser Sustantivos: ejemplo carro, hombre, tienda, pais, empleado, proveedor
- Cada clase debe tener un bloque de documentación según la norma del lenguaje.
EN PHP
/** * Bloque de Documentación */ class SampleClass { //contenido de la clase }
En C#
/// /// Bloque de Documentación /// public class SampleClass { //contenido de clase }
En Java
/** * Bloque de Documentación */ public class SampleClass { //contenido de la clase }
2. Métodos
- Los nombres de los métodos deberían ser un verbo, dado que describe una acción ; ejemplo remover(), enviar(), cargar()
- Los Métodos dentro de las clases siempre debe declarar su visibilidad tales como privadas, protegidas, públicas, etc
3. Variables
- Evitar variables que sean de un solo carácter, Los nombres comunes para las variables temporales son i, j, k, m, y n para los números enteros; c, d, y e para los caracteres.
- Nombres de variables sólo pueden contener caracteres alfanuméricos
- Nombres de variables deben ser camelCase
4. Constantes
Según el tipo de lenguaje tenemos algunos ejemplos
PHP | C# | JAVA |
MIN_WIDTH
LOCAL_CONSTANT COLUMNS | LocalConstant
MinWidth Colums | MIN_WIDTH
LOCAL_CONSTANT COLUMNS |
4. Comentarios
Según el tipo de lenguaje que estemos usando podemos guiarnos de sus reglas y convenciones establecidas:
– php phpDocumentator
– c# MDSN guia
– java javadoc
Conclusiones
Hay muchas cosas mas que se quedan en el tintero, pero creo que con esta miniguía podemos empezar hacer que nuestro código sea mas elegante, profesional, fácil de entender y que nuestras aplicaciones puedan ser mas rápidos de mantener
Links Relacionados
http://java.sun.com/docs/codeconv/html/CodeConventions.doc10.html#182
http://framework.zend.com/manual/en/coding-standard.coding-style.html
http://msdn.microsoft.com/en-us/library/ms229043.aspx
http://www.irritatedvowel.com/Programming/Standards.aspx
Me ha surgido una pregunta, los nombres de las variables tienen que estar en español o en ingles cual deberia ser el mas correcto??
por que el mesclar los dos idiomas le quita estilo y comprencion..
esto tambien se aplica a nombres de ficheros y carpetas
cual seria tu recomendacion
Hola Carlos
Muy Buena pregunta, esa interrogante me vengo haciendo desde mucho, y he encontrado muchas opiniones a favor y en contra, estoy escribiendo un post sobre eso, espero tenerlo publicado pronto, pero te adelanto algo.
Tal vez muchos dirán que lo ideal es hacerlo en el idioma que mejor se le acomode al programador, eso no habría ningún problema si el programador trabajara solo, pero si se empieza a trabajar en grupo y dentro del grupo hay programadores que hablan francés, ingles, español, etc, se haría muy difícil el desarrollo.
Todo los que esta relacionado al desarrollo se trabaja con estándares, reglas, metodologías, entre otros, pero este caso en específico no se habla nada o casi nada.
En lo personal prefiero y recomiendo a trabajar en ingles, puesto que mas adelante si se van integrando programadores a tu empresa, grupo, proyecto, etc puedan aportar, mejorar, modificar el código sin mayor problemas.
a mi me gusta utilizar el español para identificar las palabras reservadas del lenguaje de las utilizadas al codificar
Puedes hacerlo, recuerda que solo son convenciones.