Supongo que la mayoría de nosotros que ha participado en algún proyecto, en el que hayan participado varias personas, nos hemos quejado de que el código es un desastre y que hay código que no se entiende. Lo aconsejable es seguir los estandares de programación psr en php:
-
PSR-0 (obsoleto): Estandar de autocarga de clases. Habla sobre de como se deberían cargar las clases.
- Cada namespace debe tener un namespace superior ("Vendor name").
- Cada namespace puede tener tantos sub-namespaces como se quiera.
- Los nombres de los namespaces o clases deben ser separados por un guion bajo.
- Los nombres de los namespaces o clases deben ser ordenadas alfabéticamente.
- Todos los archivos deben tener la extensión php.
- PSR-1: Codificación estandar básica. Habla sobre de como se deberían cargar las clases.
- Los ficheros deben tener codificación UTF-8 sin bom.
- Los nombres de las clases deben utilizar la notación StudlyCaps (MyNameSpace/MiClase
- El nombre de las constantes debe estar en mayúsculas.
- Los nombres de los métodos deben declararse en notación camelCase (getUserOrders()).
- PSR-2: Guía de estilo de codificación. Es una extensión del PSR-1.
- No se debe usar tabulaciones. En su lugar, se deben usar cuatro espacios para indentación.
- No debe existir un límite obligatorio para la longitud de una línea. Aunque lo ideal es que midan ochenta columnas o menos y se considerará error de estilo sobrepasar las 120 columnas. Esto mejora la legibilidad del código al tener un menor recorrido que realizar en horizontal
- Debe haber una línea en blanco después de la declaración del espacio de nombres y una línea después de todos los use. Esto separa de una manera lógica diferentes secciones de la cabecera de una clase.
- La apertura de llaves debe estar en la siguiente línea de la declaración de una clase, de una función o de un método, y el cierre justo la línea después del cuerpo. Hacer esto da importancia a la declaración de la clase y hace que se leer sin confusión entre líneas.
- El paréntesis de apertura de las estructuras de control no deben tener espacio después de él. Del mismo modo, el paréntesis de cierre no debe tener espacio antes de él.
- PSR-3 - Interfaz de log. No hay mucha información sobre este standard.
- PSR-4 - Estándar de autocarga de clases.
- Esta es la nueva manera (aceptada) de trabajar con la autocarga de clases. Muchos de los frameworks y clases que existen adoptan este estandar para realizar la autocarga de clases. Ya hable de esto en: Namespaces y en Composer