La funcion universal
Monday, August 1st, 2005Los programadores hemos soñado alguna vez con encontrar esa función o esa clase univarsal que nos ayude en nuestro quehacer diario.
Hasta hace unos tres años yo también buscaba ese código mágico que aumentase mi productividad, incluso cree muchos prototipos de funciones y objetos que después tuve que dejar de lado por varias razones:
- Mantenimiento complejo. El código crecía sin parar según le incluia casos con el riesgo de no poder depurar.
- Gran cantidad de parámetros. Llegó un momento en que en vez de pasar unos cuantos parámetros a una función fue incomodísimo, intente hacerlo con un array, pero fue peor el remedio que la enfermedad. Pense que con una clase sería mejor, teniendo una serie de datas fáciles de manipular…. La cosa se puso fea con tato valor que asignar.
- Lentitud. Al pretender que la funcion/clase fuese universal se encontraba con gran catidad de DO CASE e IF que debian ser procesados cada vez. Con la clase quizás podría heredar, la cosa se puso bastante complicada ya que se perdía la idea priginal de universalidad.
Después de llevarme mucho tiempo dandole vueltas a la cabeza buscando una solución caí en la cuenta de una cosa que siempre me había ido bien: dividir el problema en partes más pequeñas. Así que al final aplique la filosofía oriental (creo) y en vez de tener un monton de código aglutinado y controlado por innumerables condiciones cree funciones más pequeñas, más fáciles de mantener y tambien cree clases donde realmente se justificaba su uso, ya que muchas veces nos obcecamos en hacer clases y objetos de cosas que realmente no son necesarias.
La conclusión final es que el programador debe aplicar en cada momento la solución más favorable dependiendo del problema a resolver evitando caer en errores de estandarizar las cosas que no son suceptibles de serlo por el simple hecho de que los procesos son muy parecidos; lo mejor es extraer la parte común a funciones o métodos más pequeños y manejables para que su mantenimiento sea fácil.