"Optimización aplicaciones PHP - Client side"

Leyendo el material de las ponencias del primer PHPBarcelona (por nuestras latitudes tendríamos que empezar a hacer este tipo de eventos) me encuentro con este buen material que recopila muchas sugerencias para optimizar del lado del cliente nuestras aplicaciones PHP.



De todas formas sugiero: antes de hacer "optimizaciones extremas" (tanto en el rendimiento del lado del cliente como del servidor) nuestra aplicación debe ser "funcional". Uno de los peores males que tiene cualquier proyecto es la "optimización temprana", empezar a optimizar desde el arranque, por lo cual nos olvidamos completamente la arquitectura de nuestro sistema y previendo el futuro crecimiento de la aplicación.

"La optimización temprana es la causante de todos los males"

-Sir Charles Antony Richard Hoare, computador científico británico, después parafraseado por Donald Knuth en su libro El Arte de Programar Computadoras


No será la primera vez que he visto desarrolladores que hacen un "++$a" porque "$a++" es más lento y evitan usar POO porque los "include" ó "requiere" consumen recursos y tiempo al tener que procesarlos.

Lo que nunca me terminan de explicar es (exagerando un poco):

"¿Cual es el costo de desarrollar una aplicación que está completamente metida en un index.php sin espacios, comentarios ni funciones?"


Sí, estamos de acuerdo, va a funcionar "muy rápido", ¿pero quién la desarrolla? ¿cuanto cuesta su mantenimiento? ¿la corrección de bugs? ¿el costo de agregar más desarrolladores al proyecto? ¿cualquier cambio impacta en cadena y afecta la estabilidad del sistema? ¿el efecto "un día después" (un dia funciona, mañana vuelves y dejó de funcionar)?

"la optimización temprana es un antipatrón que se manifiesta por optimizar aspectos de nuestra aplicación sin tener la certeza de que realmente afectan al rendimiento de la misma"

-post de "La masa, el ladrillo, la bota, el bocadillo..."


Nota: La "optimización extrema" es en sí misma un antipatrón, más información sugiero leer el post en Variable Not Found

Hay que tener en claro que la "optimización extrema" está en una punta y la "buena arquitectura" está en otra, pero aún los sistemas más rápidos deben tener definida una clara arquitectura y esta debe ser escalable de alguna forma.

Pero no optimizar tempranamente si aún no es necesario o el contexto de la aplicación aún no lo requiere.

No hay comentarios.:

Entradas populares