PHP Senior
Guías que debe seguir un ‘PHP Senior’
Julio 31st, 2008 - [Enlace local]
Recorriendo el blog desde sus inicios puedo hacer el siguiente resumen de los artículos que sintetizan de alguna forma todo lo que nos falta a los desarrolladores PHP para poder empezar a considerarnos "Seniors".
Esto es lo que he aprendido con los años y he intentado compartir con ustedes, tratando de lograr consciencia de nuestras carencias y que no podemos quedarnos solo con aprender la sintaxis particular de un lenguaje. Tenemos que romper con el modelo clásico de "programador" ("dominio del lenguaje") y pasar a "desarrollador" ("dominio del sistema").
Los artículos fundamentales hasta la fecha
- Los desarrolladores debemos profesionalizarnos
- Buenas Prácticas de Desarrollo en PHP
- Code Smell - ¿A qué huele tu código?"
- Principios de Diseño Orientado a Objetos
- Programación Orientada a la Interface
- Herencia de clases y el "Principio de Liskov"
- Diseño en 3 capas
- Separar el código de la capa de presentación
- NO es necesaria la herencia múltiple
- NO es necesario crear un nuevo framework
- Capas de Abstracción
- Diferencias entre Lenguajes y Plataformas
- Estándares o muerte... para PHP
- Cómo traducir de UML a PHP5
- Los métodos "getter / setter"
- Standard PHP Library
- Patrones de Diseño
- Patrón Singleton en un entorno web con PHP
- Es fundamental contar con namespaces
- Migrar definitivamente a PHP5
- PHP Coding Standard (draft)
- Seven Steps to Better PHP code - part 1
- Seven Steps to Better PHP code - part 2
Si tuviera que resumir con un ejemplo qué me demostraría -casi sin dudar- que estoy ante un "Desarrollador PHP" que pasó al "siguiente nivel", sería ver usar correctamente las interfaces, implementando siempre una clase que ofrece un servicio y una interfaz para las clases que quieren usar el servicio, cumpliendo con el "Principio de Abierto / Cerrado", pasando de una programación "Orientada a la Implementación" a una "Orientada a la Interface".
PD: no vale si viene del mundo Java y entra esporádicamente al mundo PHP ;-). Esta forma de trabajo muy arraigada en arquitecturas debe ser nuestra misma forma de trabajo, "pensando en sistemas" y no en "páginas dinámicas con acceso a base de datos".