Desde que llevo inmerso en el mundo del desarrollo de software he visto cómo han ido evolucionando todos los componentes que intervienen en este proceso: lenguajes de programación, editores, hardware, estilos de diseño, etc.
Hoy en día existe una gran cantidad de lenguajes de programación, cada uno de ellos creado para resolver algún tipo de problema en concreto o para mejorar alguno existente. Es por este motivo que, a diferencia de como ocurría en el pasado que podías especializarte en uno o dos únicos lenguajes, los desarrolladores hoy en día se ven en la necesidad de controlar el máximo número de ellos (por curiosidad personal o porque el puesto de trabajo lo requiere).
La mayoría de programadores sabe que la continua formación es imprescindible en nuestro trabajo. Ahora bien, el problema en este proceso de aprendizaje es que muchas veces, por la falta de tiempo, se hace a prisa y corriendo. En este punto surge un gran hándicap que nos afectará en el futuro y del que no somos conscientes al momento, la forma de programar. En mi caso en particular, me ha tocado mantener tanto código propio como ajeno y en algún caso me ha resultado bastante complicado ya que no entendía ni lo que yo mismo había hecho hace 5 o 6 años.
Llegados a este punto, quiero recalcar la importancia de saber programar, una cosa es conocer la sintaxis y otra muy diferente saber cómo estructurarla de una forma ordenada y mantenible. Para solucionar este problema generalizado, han aparecido los llamados estándares de código.
Es una forma de normalizar la programación de tal manera que siga una serie de reglas conocidas por todos, con esto se consigue que cualquier persona pueda entender el código, aunque no haya participado en su creación.
Algunos de los objetivos que buscan son: definir la organización del código de un programa, la forma de declarar variables, clases, métodos, etc.
Phpcs es un validador de código que comprueba el cumplimiento de las reglas de un estándar. Es una herramienta que nos va a ayudar a escribir buen código mostrándonos las líneas que no cumplan con alguna regla del estándar elegido.
Es un software que puede integrarse con editores como sublime text, atom, vim, etc. En mi caso el editor que uso es Sublime Text y por tanto voy a explicar cómo podemos integrar el plugin de PHP CodeSniffer en él.
Lo primero que tienes que hacer es descargar los siguientes ejecutables requeridos por el plugin:
Una vez descargados todos los ejecutables, los alojamos en alguna ruta de nuestro sistema, en mi caso: F:ProyectosPhpcsDependencies
El siguiente paso es instalar el plugin en Sublime Text, para ello, debes tener activado el control de paquetes (las instrucciones para hacerlo las puedes encontrar en el siguiente enlace) Accede a él mediante el menú “Preferences” -> “Package Control” y busca la opción “Install Package”
En la siguiente pantalla buscamos “PHPCS” e instalamos pulsando enter:
Accede a la configuración por defecto del plugin a través del menú “Preferences”->”Package Settings”->”PHP Code Sniffer”->”Settings – Default”, copia el contenido y pégalo en “Preferences”->”Package Settings”->”PHP Code Sniffer”->”Settings – User” donde podrás agregar tu configuración personalizada.
Los parámetros que debemos configurar son:
“phpcs_php_prefix_path“: “C:\xampp\php\php.exe”
“phpcs_php_path“: “C:\xampp\php\php.exe”
“phpcs_executable_path“: “F:\Proyectos\PhpcsDependencies\PHP_CodeSniffer\scripts\phpcs.bat”
“php_cs_fixer_executable_path“: “F:\Proyectos\PhpcsDependencies\php-cs-fixer.phar”
“phpcbf_executable_path“: “F:\Proyectos\PhpcsDependencies\PHP_CodeSniffer\scripts\phpcbf.phar”
“phpmd_executable_path“: “F:\Proyectos\PhpcsDependencies\phpmd\src\bin\phpmd.bat”
Por defecto el estándar configurado es PSR-2, recomendado para PHP y empleado por frameworks como Laravel o Symfony.
Una cosa a tener en cuenta es que si usamos Windows los separadores en las rutas deben ser “\” mientras que para Linux o Mac serán “/”
Una vez configurado el plugin podemos verlo en acción al guardar cualquier archivo. Si no cumple alguna regla nos mostrará un panel con los errores detectados.
En este punto podemos optar por 2 opciones:
Como hemos podido ver en este post, existen herramientas que nos ayudan en nuestro trabajo, en concreto, PHPCS nos ayuda escribir un mejor código basado en reglas conocidas por todos.
Seguir un estándar de código es muy necesario en un mundo de desarrollo tan cambiante y en el que pueden intervenir muchos miembros. Crear tu propio estilo o escribir código ilegible con el fin de que nadie te pueda sustituir es un gran error que puede revertir en tu contra. Por todo esto, animo a utilizar herramientas o plugins que nos ayuden a ser mejores profesionales y a escribir un código de calidad.
http://es.slideshare.net/PiXeL16/estandares-de-codigo-emanuel
https://platzi.com/blog/escribir-buen-codigo/
https://styde.net/instalar-php-code-sniffer-en-sublime-text/
https://styde.net/organizar-codigo-php-cs-fixer-siguiendo-los-estandares-psr/