SURFORCE-CMS: solicitud de colaboración para hacer testing y refactoring

El proyecto SURFORCE-CMS está en su primera versión "madura" por decirlo de alguna manera (¿1.0?), pero quedan algunos pendientes que me preocupan:

  • El primero, hacer refactoring del código que genera el menú, ya que actualmente es "estructurado" y con mucho "hardcode" (fue uno de los primeros códigos que se implementaron cuando empezamos con el CMS, cuando no teníamos nada de experiencia en Zend).

  • Segundo, hacer el testing de la aplicación en general, reportando bugs para que los solucionemos. Por ejemplo, un colega me reportó que al crear un sub-sitio / sección (ABM Sitios) si no le ingresa la "url home" del mismo (la página por defecto) el sitio no arranca y da un error.

Hay muchos detalles como estos que están para resolver, así como ver qué partes no se entienden o no están del todo correctas (tanto funcionales como internas del código) y mejorarlas.

Cada quien encuentre un bug iré autorizando los permisos para que puedan subir el código al svn y pasar a la fama como parte del proyecto (bueno, por lo menos aparecerán en el listado del proyecto en Google Code ;-)

Espero comentarios al respecto.

2 comentarios:

Benjamín dijo...

Hola
He revisado el proyecto de una manera rápida y hay una cosa que me ha llamado la atención, que son básicamente los models, donde casi todos los métodos de las clases son estáticos.
¿hay alguna razón para esto?, ¿no se esta abusando?
Por que hay muchos métodos que son repetitivos, que bien se podrían implementar en una clase abstracta para que todos las clases hijas hagan uso de dichos métodos.

Saludos!

Enrique Place dijo...

Estimado Benjamín:

> He revisado el proyecto de una
> manera rápida y hay una cosa que
> me ha llamado la atención, que
> son básicamente los models,
> donde casi todos los métodos de
> las clases son estáticos.
> ¿hay alguna razón para esto?,
> ¿no se esta abusando?

¿Abusando en qué sentido? Lo único que hace es que sin instanciar en un objeto puedas directamente obtener los datos del modelos llamando al método correspondiente.

$todos = Archivos::getAll();

> Por que hay muchos métodos que
> son repetitivos, que bien se
> podrían implementar en una clase
> abstracta para que todos las
> clases hijas hagan uso de dichos
> métodos.

Usar herencia solo para hacer reuso de código no sería una buena estrategia.

Para poder hacer herencia tiene que haber una relación entre las clases, de lo contrario no se puede hacer (Persona -> Usuario -> UsuarioAdmin).

Sobre el código que es repetitivo, aunque le falta refactoring en muchos lados, en sí son operaciones sencillas (getAll), por lo pronto no veo que otra mejora se puede hacer.

Tal vez me esté perdiendo de algo de lo que me dices, pero te invito a que me mandes código o algún ejemplo concreto sobre un caso en particular y lo discutimos mejor.

Gracias por los comentarios.

Entradas populares