PSR & PHP Code Sniffer

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

phpcs-1.png

phpcs-2.png

phpcs-3.png

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!

No Comments Yet