Ver Mensaje Individual
  #24 (permalink)  
Antiguo 21/02/2006, 17:21
gnfrs
 
Fecha de Ingreso: abril-2004
Ubicación: Rosario, Argentina
Mensajes: 124
Antigüedad: 20 años, 1 mes
Puntos: 11
Bueno les respondo a los que critican mi clase "grandota"...

En primer lugar debí aclarar esto antes pero entre las 2000 líneas de código está incluída la documentación que la utilizo como ayuda contextual, quitando todo eso calculo que se reduciría a un poco menos de la mitad (calculando a simple vista).

En segundo lugar, la funcionalidad de la clase es muy compleja, hace una validación de formularios, incluyendo:
* Campos requeridos
* Comparación extendida de campos
* Formatos predefinidos de expresiones regulares
* Cantidad máxima y mínima de caracteres
* Validación de campos múltiples (campos con el mismo ID pero en forma de matriz)
* Validación de tablas multiples (por ejemplo para cargar estudios cursados en un asistente para currículums)
* Comparación de campos por aproximación.
* Validación de fechas.
* Validación de distintos tipos de formatos (coma flotante, enteros, etc)

Bueno la lista sigue no recuerdo bien todo. Para enviarte el código de la clase tendría que enviarte también las clases base de las cuales hereda esta clase de validación.

En segundo lugar, esta clase se integró a mi Framework hace tiempo, cuando era más pequeña, fue creciendo a medida que pasó el tiempo y ya me es complicado reestructurarla porque no quiero perder compatibilidad con los sistemas que ya la están utilizando, ya que un framework muy bien armado no me serviría de nada si "deja de funcionar un sitio" cada vez que actualizo el mismo.

Yo sé que esa clase es muy larga y difícil de leer, pero lamentablemente son demasiadas cosas que tiene que validar y a diferencia de .NET (hay un objeto por tipo de validación) esta me es muy cómoda a la hora de reutilizar código, con unas simples llamadas a funciones puedo hacer el objeto muy flexible.

Igualmente creo que en un futuro voy a estudiar la forma de reestructurarla sin perder compatibilidad.

A medida que las aplicaciones se van haciendo cada vez más robustas y grandes los objetos que la componen van creciendo también, esto es inevitable (Ingeniería de Software - Roger S. Pressman).

Saludos.

PD: En respuesta a Tukzone, depurar un BUG no me hace perder mucho tiempo con un depurador para PHP. Con apretar varias veces F10 me alcanza.