This post was published originally on hoclabs.com/2018/06/22/psr-php-code-sniffer for my old blog.
Que tal PHP devs en esta ocasión vengo a compartirles más buenas prácticas de desarrollo.
¿Qué es PSR y para que nos sirve un Code Sniffer a la hora de desarrollar?
El estándar de recomendaciones de PHP (PSR | PHP Standard Recommendations) es una especificación para el lenguaje PHP publicada por PHP Framework Interop Group. Esto sirve para la estandarización de los conceptos de programación del lenguaje, el objetivo es habilitar la interoperabilidad de sus componentes y proveer una base técnica para la implementación de conceptos relacionados con programar de forma óptima y la práctica de pruebas, de acuerdo a su definición en Wikipedia.
Entonces, ahora que sabemos que existen estándares para el lenguaje PHP, vamos a explorar el estándar PSR2, él cuál es una guía para el estilo de codificación. Dentro de este estándar podremos encontrar los siguientes puntos:
- El código TIENE QUE usar 4 espacios y no un tab como sangría. (espacios vs tabs plox!)
- NO TIENE que haber un limite estricto para la longitud de una línea; El limite recomendado tiene que ser de 120 caracteres. La longitud de la línea debería ser de 80 caracteres o menos.
- Las llaves de apertura para los métodos TIENE QUE encontrarse en la siguiente línea, y las de cierre TIENEN QUE estar en la siguiente línea después del cuerpo del mismo.
- Las llaves de apertura para las estructuras de control TIENEN QUE encontrarse sobre la misma línea, las llaves de cierre TIENEN QUE encontrarse una línea después del cuerpo de la estructura.
- La visibilidad TIENE QUE encontrarse en todos los métodos y atributos de una clase. - Las palabras abstract y final TIENEN QUE estar declaradas antes de la visibilidad, y static se TIENE QUE declarar después de la visibilidad.
Los mencionados anteriormente son solo unos cuantos ejemplos de todo lo que abarca esta guía, la cuál es una continuación a la guía PSR1. Puedes encontrar la guía completa en este enlace.
¿Por qué usar PSR?
El objetivo de la guía es reducir la fricción cognitiva al escanear código de diferentes personas, y esto se hace al enumerar un conjunto compartido de reglas y expectativas sobre cómo formatear el código PHP. Estás reglas de estilo derivan de similitudes entre diversos proyectos. Cuando varios autores colaboran en varios proyectos, ayuda tener un conjunto de pautas para ser utilizado entre todos esos proyectos. Por lo tanto, el beneficio de esta guía no está en las reglas en sí, sino en el intercambio de esas reglas.
Vale, lo he leído y me ha parecido excelente seguir un estándar, pero ¿Cómo me voy a aprender de memoria todas las reglas?
Excelente decisión habéis tomado. para poner en práctica las buenas prácticas (redundancia everywhere) y asegurarnos de que nuestro código siga las reglas como debería existe una herramienta llamada Code Sniffer, el cuál se encarga de ir revisando todo tu código a medida que lo vas desarrollando.
A continuación unos ejemplos tomados con PHPStorm y las sugerencias que hace
Si usan PHP Storm pueden descargar la siguiente herramienta: PHP Code Sniffer y seguir este tutorial jetbrains.com/help/phpstorm/using-php-code-...
Si usan Sublime Text pueden seguir esta otra guía: theaveragedev.com/making-php-code-sniffer-p..
Como siempre lo importante es no dejar de aprender y poner en práctica lo aprendido, si tienen alguna duda pueden escribirla en la caja de comentarios!