Juanma Santoyo

En ocasiones me llaman friki

Programar orientado a objetos

| No hay comentarios

Cuando programamos una clase, o un conjunto de ellas; es habitual considerar que esa clase no tiene porqué ser específica de un proyecto. En ocasiones debe ser así, pero en otras no es necesario.

Concretamente, puedes dotar una clase de la habilidad de obtener o transformar (o obtener y transformar) datos, o puedes dotarla de la habilidad de aplicar esos datos en el nivel más superior del proyecto. Ejemplificando: Puedes hacer una clase que se encargue de obtener datos de una base de datos, pero se debería programar otra clase con la intención de mostrar esos datos en pantalla. He visto códigos donde las clases tienen métodos para obtener y tratar información, y métodos distintos para aplicarla. Tampoco es una mala opción. Quizás un poco incómoda, pero también funcional.

Pero lo que no debe suceder nunca, es que un único método se encargue de obtener la información y de aplicarla. Podría pensarse que es más cómodo, y ciertamente lo es, siempre que nunca en la vida, jamás de los jamases, vayas a usar esa clase en otro proyecto, o tengamos la seguridad de que ese proyecto no va a sufrir ninguna modificación. Por supuesto, esa situación no existe. El cliente nunca se va a conformar con la primera versión acabada del proyecto (nunca), y tu jefe siempre te sugerirá (quizás con una mirada amenazadora) que reutilices el código de un proyecto anterior.

Resumiendo: una clase bien hecha debe cumplir ciertos puntos:

  • Debe ser fácil de ampliar.
  • Debe ser traspasable a otras aplicaciones de forma íntegra.
  • Debe poder ser pasada a un colega, publicada a la comunidad, etc.

Salgo hoy con estas historias, porque después de una semana en modo hardcore developer he conseguido acabar (bueno, prácticamente acabar) el nuevo y espectacular diseño del blog (espero que os guste, seáis quienes seáis los que pasáis por aquí xD). Y entre las funciones de wordpress hay cada cosa… Las funciones devuelven código HTML listo para publicar en el mejor de los casos, de hecho, lo más normal es que directamente impriman la información en la página. Un desastre.

Por ejemplo, si llamas a la función que te permite obtener el listado de categorías, en vez de devolver los datos íntegros, o en su defecto el html ya montado; simplemente imprime el código en pantalla sin dar opción al programador de tratar los datos antes de publicarlos. Vamos, no tiene pies ni cabeza.

La intención no es mala, porque simplifica mucho el trabajo para diseñadores con pocos conocimientos de programación, pero el problema real es que no existe la posibilidad de obtener los datos íntegros antes de mostrarlos en pantalla.

Después de algunos meses con este blog, estoy viendo que wordpress es una maravilla, pero en este aspecto hay que suspenderlos y darles una colleja, para que se espabilen en nuevas versiones.

Share on FacebookTweet about this on TwitterShare on Google+Share on LinkedInEmail this to someone

Deja un comentario

Los campos obligatorios están marcados con *.