viernes, julio 26, 2013

PHP, Estandarización en la codificación: PSR0, PSR1, PSR2 y PSR3

Si sos un desarrollador de PHP avanzado, es muy probable que haya llegado a indagar por las abreviaturas, PSR, que significan "PHP Standadars Recomendation".
Cuando uno habla de estandarización, hace incapié en cuestiones de simplificar y ayudar a la codificación de nuestros sistemas, objetos e incluso funciones las cuales estamos programando para poder optimizar nuestros tiempos.

No es raro encontrar un sin fin de "métodos" y formas de codificar totalmente distintas y adoptadas por programadores, algunos puristas de PHP, otros que vienen de lenguajes próximos, e incluso de lenguajes mas duros, como C++

Creo que la idea de que PHP sea estandarizado (en codificación) nos haría una comunidad mas ordenada y por encima de todo una comunidad solidarizada en función a las estrategias para con los sistemas y la respuestas a nuestros clientes.





Existen muchos puntos iniciales, y creo que el primer pie, al menos lo considero asi, lo dio Zend, que debía ser así, con su Coding Standard.
Muchos respetan y llevan a rajatabla las recomendaciones de Zend para un trabajo mas limpio. Si estas interesado podes evaluarlo desde aqui: Coding Standard.

De todas maneras, existe un grupo orientado exclusivamente a la estandarización y a presentar reglas puntuales y fundamentales para lograr este objetivo.

El grupo denominado PHP-FIG define el proyecto como:
"La idea del grupo es hablar sobre los puntos en común entre nuestros proyectos y encontrar maneras en que podemos trabajar juntos. Nuestro público principal somos nosotros mismos, pero somos muy conscientes de que el resto de la comunidad PHP está mirando. Si otras personas quieren adoptar lo que estamos haciendo son bienvenidos a hacerlo, pero ese no es el objetivo."

Desde yá suena muy prometedor e interesante, ellos no apuntan a obligarte a usar el modo de codificación, pero creo que como iniciativa es muy buena, y hasta recomendable.
En el proyecto, plantean que el trabajo de estandarizar debe estar dividido en 4 áreas:

PSR-0
Tiene como objetivo proporcionar una convención archivo, clase y espacio de nombres estándar para permitir código plug-and-play.
PSR-1
Su objetivo es garantizar un alto nivel de interoperabilidad técnica entre el código PHP compartido.
PSR-2
Proporciona una guía de estilo de codificación para proyectos que buscan estandarizar su código.
PSR-3
Describe una interfaz común para las bibliotecas de registro o loggin.

Les dejo un enlace con la recomendacion aplicada, con lo cual les sera mas fácil comprender que es lo que se requiere en cada item: NetTuts y otra mas breve, pero sirve como ayuda. CodeJobs.

Saludos!

No hay comentarios: