Archivo etiqueta Refactoring

¿Spaghetti Code?: No, gracias.

La única metodología capaz de disminuir considerablemente el tiempo de desarrollo e incidencias, absorbiendo cualquier tipo de cambio a lo largo de la vida de un proyecto de forma ágil, es sumamente sencilla y eficaz: Genera y mantén un código de calidad.

Existe un punto en la vida de un proyecto en constante cambio, al que nunca se debería llegar. Una vez sobrepasado dicho punto, el tiempo juega un papel negativo sobre la calidad del código. Hay que tenerlo claro: Trabajar sobre un mal código, genera más mal código. En este bucle y a medida que pasa el tiempo: Los cambios son más costosos generando muchísimas más incidencias post-desarrollo (sin mencionar los problemas de rendimiento que genera).



Leer el resto de la entrada »

¡Compártelo!

, , , , ,

No hay Comentarios

Cargar banners asíncronamente

La inclusión de banners en un portal resulta una tarea extremadamente sencilla: Copiamos y pegamos el código externo de JavaScript y listo.

Dicho código se ejecuta varias veces por cada banner que se desee mostrar.
En muy pocas ocasiones se plantean las posibles consecuencias que pueda tener el código en la ejecución y rendimiento. Os puedo asegurar que pueden llegar a ser muchas.

El factor más importante y la principal causa de los errores, provocados por la carga de banners, es la carga síncrona de los mismos.

Esto significa que la carga se procesa gradualmente por cada línea: Hasta que no carga el banner, no continúa la ejecución de la página. Causando una relentización considerable en cada petición. Que puede aumentar, dependiendo del estado de los servidores ajenos.

Además, el código encargado de mostrar los banners, normalmente Javascript, puede fallar y bloquear el correcto funcionamiento del portal web en el navegador del cliente. O simplemente bloquear la carga completa del portal.

La solución óptima de carga de banners, que evitan los errores de ejecución y rendimiento, aportando agilidad en la carga, es extremadamente sencilla comparándola con los beneficios que aporta: La carga asíncrona de banners.
Leer el resto de la entrada »

¡Compártelo!

, , , , , , ,

No hay Comentarios

Data Caching y OutputCache. Indispensables en una aplicación web ASP.net de alto rendimiento.

Normalmente el gran número de peticiones sobre la base de datos puede ocasionar un cuello de botella y afectar al rendimiento negativamente. Una solución genérica y óptima para equilibrar las peticiones a la base de datos e intentar no afectar el rendimiento, manteniendo la actualización y consulta de datos en la aplicación, es utilizando la caché en el servidor.
Leer el resto de la entrada »

¡Compártelo!

, , , , , ,

No hay Comentarios

Cuando y porqué realizar tareas de Refactoring.

La refactorización (del inglés refactoring) es una técnica de la ingeniería de software para reestructurar un código fuente, alterando su estructura interna sin cambiar su comportamiento externo.
En el mantenimiento de código, una de las tareas más comunes para mejorar la adaptación, el cambio continuo de requerimientos, nuevas funcionalidades y mejoras en el rendimiento de determinados apartados.

Las ventajas con respecto a la calidad del software y tareas de refactoring, se presentan a lo largo del tiempo en cada fase del proyecto:

Refactoring

Leer el resto de la entrada »

¡Compártelo!

, , , , , , , , , , , ,

1 Comentario

Microsoft .NET: Architecting Applications for the Enterprise.

Microsoft .NET: Architecting Applications for the Enterprise

          Un completo manual que no debe faltar en tu biblioteca personal. 453 páginas con información útil que emplearás en tus funciones laborales diarias. Lectura ágil, con ejemplos y aplicaciones en el mundo real.

Los primeros capítulos hablan genéricamente de la arquitectura y arquitectos, roles, evolución de la arquitectura a lo largo del tiempo (puntualizando pequeñas reseñas históricas), procesos de diseño, habilidades y responsabilidades dentro de la empresa.
Resume las características más importantes del UML (Unified Modeling Language), enumerando los diagramas más utilizados para la comunicación de la evolución de la arquitectura según los tipos de requerimientos.
Se centra en el estilo arquitectural más frecuente: Arquitectura nLayer y las capas más generalizadas de ésta: Service Layer, Business Layer, Data Access Layer y Presentation Layer.
En cada una de ellas te enseñarán los patrones de diseño más utilizados, explicando sus ventajas e inconvenientes aplicados en el mundo real.
Exponen los principios fundamentales y metódicos para la correcta implementación y seguimiento en cada una de las capas.

Lo recomiendo tanto a desarrolladores que quieran ampliar sus conocimientos en arquitectura, como arquitectos de todos los niveles que quieran “pulir” o fortalecer sus conocimientos en el diseño de arquitecturas nLayer. Si lo has leído, comparte tus opiniones y valoraciones.

Puedes ver el índice del manual aquí.

¡Compártelo!

, , , ,

No hay Comentarios