Como convertirse en un "Desarrollador PHP Senior" y no morir en el intento... escrito por Enrique Place
Capturando el pizarrón de mi clase
Hace mucho tiempo tengo la costumbre de sacar fotos con mi celular como forma rápida de documentar lo que se puede escribir en un pizarrón durante una discusión de diseño, tanto en el trabajo como en el dictado de un curso.
Para mis cursos
En mi caso particular sigo la premisa de "para improvisar hay que estar antes muy preparado", por lo cual cada clase me lleva muchas horas de trabajo pero que luego "en vivo" suelo ir adaptándola rápidamente a como van reaccionando mis interlocutores. No es la primera vez que de camino a la universidad voy -en el mismo ómnibus- haciendo correcciones con un lápiz a los ejercicios que ya tenía preparados, pues se me ocurrió que cambiando o hasta quitando determinados detalles podía simplificar aún más el entendimiento de los conceptos.
El problema luego es que siempre trato de seguir relacionando los temas y los ejercicios unos con otros, y necesito una forma rápida de documentar estos cambios de último momento (se me complica dictar una clase, hacer cambios en el aire, para luego registrarlo a mano).
Si fuera el caso de una empresa lo ideal es que luego de una reunión escribir un acta (para registrar lo sucedido y hasta donde se llegó) y agregar todas estas fotos.
En este caso les muestro como ejemplo lo que hicimos en la clase pasada de mi curso de PHP5
Nota: los dibujos no están muy prolijos pues la idea es ser progresivo con los ejemplos, ir borrando y agregando nuevos detalles, o haciendo comentarios al margen sobre temas que necesitan ser reforzados en el momento (aunque de ahora en más voy a poner un poco más de cuidado así las fotos salen mejor ;-) ) :
Aquí, continuando con la primera foto que explica el concepto de un diseño básico de 3 capas, explico cómo sería la codificación a partir de un módulo listado_clientes.php que hiciera uso de cada capa del sistema, empezando por la "presentación". El módulo invocaría a la clase HTML del paquete "presentación", que a su vez invoca a la clase Mensaje del paquete "dominio", para luego invocar a la clase BaseDeDatos del paquete "persistencia" (para más información buscar en este mismo blog por "diseño 3 capas").
Aquí definimos una estrategia del tipo "divide y vencerás" para enfrentar la larga lista de requerimientos del trabajo obligatorio de desarrollo que deben culminar para aprobar el curso de actualización profesional. No sé si se dan cuenta, pero deben desarrollar un primer prototipo con la funcionalidad base de Twitter, más toda otra serie de requisitos (patrones de diseño, 3 capas, Ajax, plantear mejoras al sistema original, etc).
Tratando de mostrar el proceso completo del desarrollo de un sistema orientado a objetos usando UML, se parte de un diagrama de Casos de Uso (ya borrado del pizarrón), un Diagrama de Paquetes, Diagrama de Clases y el -en mi opinión- más importante para todo desarrollador profesional: el Diagrama de Secuencia.
Y aquí, como "la cereza de la torta", me voy abruptamente al borde del abismo de la improvisación y ya engancho con la introducción al tema de "Principios de Diseño de la Orientación a Objetos" de la mano del más revelador de todos: "Principio Abierto / Cerrado (Open/Closed)".
La memoria trabaja mejor con imágenes
Creo que estas fotos son muy útiles para nuestro uso profesional. La memoria trabaja en base a imágenes y asociaciones, y a veces uno no recuerda tan fácilmente a partir de nuestras propias transcripciones escritas de lo que ve (siempre te pierdes algo), pero a mi me pasa que una sola imagen puede hacerme recordar exactamente todo lo que se habló en ese momento.
Pruébalo en tu próxima reunión que hagan uso de un pizarrón, y luego súbelo al Wiki de la intranet de tu organización para documentar y compartir la experiencia ;-)
Suscribirse a:
Comentarios de la entrada (Atom)
Entradas populares
-
He visto mucha documentación que habla sobre el tema de los métodos "getter / setter", o traducido al castellano los métodos "...
-
Esto es lo que pasa cuando tienes entornos que no son homogéneos y cada aplicación se encuentra ubicada en distintas márgenes de un "rí...
-
Uno de los problemas que me he encontrado con la versión 5 de PHP es la falta de la representación de los "paquetes" desde el prop...
-
Este es un resumen de conclusiones que se vertieron en una discusión sobre el tema en Foros de Web , donde se plantea la duda de si PHP5 ...
-
Este es un ejemplo publicado a partir de la duda de un usuario , y como son preguntas que se hacen reiteradamente, les dejo el ejemplo aquí ...
-
Esta reflexión se la escribo a todos los "Programadores PHP": Al día de hoy la mayoría de los institutos o universidades de muchos...
-
El Patrón " Singleton " sirve para cuando buscamos restringir la creación de instancias de un objeto, obligando que solo se pueda ...
-
Hace un tiempo que vengo recomendando esta presentación como punto de partida para definir un estándar de desarrollo en una empresa. En ambi...
-
Bueno, luego de revisarlo una y otra vez (y otra vez) ya se encuentra terminada la primer versión del libro que junta toda la experiencia ac...
-
Estoy viendo muy seguido en foros que frecuento regularmente a muchos programadores que quieren dar " el gran salto " y evolucion...
3 comentarios:
despues que Place a dejado de publicar articulos el sitio a dejado de ser el mismo
me refiero a articulos sobre patrones de diseño...
Estimado/a Arley:
Sí, lamentablemente es difícil contentar a todo el mundo. Asumo que no a todos les debe interesar el tema del taller... pero no puedo hacer más cosas a la vez, tengo que dividirme y priorizar.
Hacer un tiempo que el taller on line sigue funcionando y sus participantes están haciendo un excelente trabajo (en cualquier momento empiezo a escribir sobre ellos).
Pero prometo dentro de poco empezar a volver a escribir sobre temas genéricos de amplio interés... y a volver a hablar sobre patrones en PHP5, ya que tengo varios en borradores ;-)
Publicar un comentario