Buscar este blog

17 febrero 2011

Anti-patrones de diseño


Así como existen los Patrones de diseño existen una serie de anti-patrones de diseño, los cuales nos permiten evitar ciertos errores o caminos desfavorables a la hora de diseñar, planificar e implementar un proyecto de software. A pesar de tener nombres muy graciosos estoy seguro que alguna vez te topaste con alguno de ellos:

Pollo sin cabeza (headless chicken): Se aplica al gestor, coordinador o responsable que vive en una permanente situación de pánico y medidas desesperadas.
Caballero de tres cabezas (three-headed knight): Gestor indeciso, poco firme, dubitativo.
Humo y espejos (smoke and mirrors): Mostrar cómo será una funcionalidad antes de que esté implementada.
Mala gestión (bad management): Gestionar un proyecto sin tener suficientes conocimientos sobre la materia.
Software inflado (software bloat): Permitir que las sucesivas versiones de un sistema exijan cada vez más recursos.
Fábrica de combustible (gas factory): Diseñar de manera innecesariamente compleja.
Gran bola de lodo (big ball of mud): Construir un sistema sin estructura definida.
Problema del yoyó (yo-yo problem): Construir estructuras (por ejemplo, de herencia) que son difíciles de comprender debido a su excesiva fragmentación.
Singletonitis: Abuso de la utilización del patrón singleton.
Ancla del barco (boat anchor): Retener partes del sistema que ya no tienen utilidad.
Desarrollo conducido por quien prueba (tester driven development): Permitir que un proyecto software avance a base de extraer sus nuevos requisitos de los informes de errores.
Avance del alcance (scope creep): Permitir que el alcance de un proyecto crezca sin el control adecuado.
Funcionalitis acechante (creeping featuritis): Añadir nuevas funcionalidades al sistema en detrimento de su calidad.
Obsolescencia continua (continuous obsolescence): Destinar desproporcionados esfuerzos a adaptar un sistema a nuevos entornos.
Gestión champiñón (mushroom management): Tratar a los empleados sin miramientos, sin informarles de las decisiones que les afectan (manteniéndolos cubiertos y en la oscuridad, como los champiñones).

la verdad todos estan buenos asi que mejor sigan leyendo aquí.

He vuelto!

Después de un año sin escribir (notarán que el 2010 pasó de largo en este blog), decidí volver a intentar en este 2011, al menos con pequeñas entradas de noticias interesantes o producciones propias con pruebas y experiencias que realizo normalmente debido a mi profesión en el campo de las TIC’s.
Este blog seguirá el mismo enfoque de antes, algo escrito por y para mí que me ayuda a recordar problemas y soluciones, y que sirve como bitácora de lo sucedido durante el año. Pero además tiene como objetivo servir de ayuda a cualquier visitante y permitirme aprender y enriquecer el blog mediante sus comentarios.
Los temas a tratar son casi siempre los mismos, programación, testing, bases de datos, metodologías, etc... principalmente con tecnología .NET, pero uno nunca sabe y quizás vaya expandiendo el horizonte durante este año, esto dependerá de otros factores los cuales aún estoy reviendo.
Eso es todo por ahora, me voy a disfrutar mis últimos días de vacaciones.
Hasta pronto!

24 diciembre 2009

Fin curso Becas Control+F

Ayer finalizó oficialmente el curso de .NET dentro del marco de las becas "Control+F" en el cual participé junto con mi colega el Ing. Raúl Montiel como docente. La verdad para mi fue una muy buena experiencia que reavivó en mí la vocación de docente, porque según mi parecer al que le gusta enseñar es porque le gusta aprender y a mi realmente me encanta aprender y es casi mandatorio en mí profesión la constante capacitación así que se sintió muy bien esta experiencia. Quería agradecer al coordinador el Ing. Gonzalo Díaz por esta oportunidad y sobre todo a los alumnos que la verdad hicieron un gran esfuerzo en asistir 240hs de clases durante estos últimos casi 5 meses soportando cortes de puente, calor intenso, estaciones de trabajos lentas, entre otros contratiempos. Hasta la próxima!

18 mayo 2009

Nuevos controles AJAX

Novedad para los desarrolladores de ASP.Net, el conocido AJAX Control Toolkit lanzó hace poco sus nuevos controles que se hicieron esperar mucho tiempo sobre todo el editor al estilo FCK editor...

Veamos:

ColorPicker
Sencillo pero eficaz selector de colores el cual se adjunta a cualquier TextBox y nos devuelve el número en hexa que representa al color seleccionado.

ComboBox
Muy necesario y utilizado para agilizar la selección de opciones, es una mezcla de DropDownList con un TextBox lo cual nos permite elegir solo una opción válida y existente no solo con el mouse sino también a través del teclado, ya que a medida que vamos escribiendo va buscando y resaltando la opción más parecida...

HTMLEditor

Permite editar texto enriquecido, o sea texto al que se le puede cambiar fuente, color, tamaño, alineación, etc... y nos devuelve el código HTML que representa nuestro texto formateado.

Crear y compartir diagramas UML rápida y fácilmente

Hoy cuando empezaba a trabajar en un nuevo proyecto surgió la necesidad de esbozar un pequeño diagrama de casos de usos y de clases a un nivel general de análisis. Las opciones eran utilizar MS Visio, Rational Rose, Enterprise Architect, Umbrello, etc… (y la lista sigue…). Al final me decidí por yUML, esta es una excelente herramienta online (y gratuita) para crear diagramas a partir de una notación textual muy sencilla e intuitiva, no es necesario andar acomodando las elipses y evitando el cruce de lineas y flechas, lo hace por nosotros y siempre produce un diagrama legible y prolijo listo para incorporar al blog, a documentos, compartir con colegas y clientes.

Por ejemplo:
[User]-(Login)
[User]-(Do Something)
[User]-(Logout)
(Login)<(Reminder)
(Login)>(Captcha)
[User]-(note:This is Stickman{bg:yellow})

Produce:
http://yuml.me/diagram/usecase/[User]-(Login), [User]-(Do Something), [User]-(Logout) , (Login)<(Reminder) , (Login)>(Captcha), [User]-(note:This is Stickman{bg:yellow})

Recientemente se incorporó la posibilidad de agregar notas a los diagramas y de especificar una escala de zoom en el link.

También podemos crear diagramas de clases con la misma facilidad:

[Customer{bg:orange}]+1->*[Order]
[Order]++1-items >*[LineItem]
[Order{bg:green}]-0..1>[PaymentMethod]


Con escala de un 200%
http://yuml.me/diagram/scale:200/class/[Customer{bg:orange}]+1->*[Order], [Order]++1-items >*[LineItem], [Order{bg:green}]-0..1>[PaymentMethod]

En el sitio oficial de yUML pueden encontrar la sintaxis para construir los diagramas y muchos ejemplos muy completos de lo que se puede hacer hasta ahora.

Enlaces relacionados: www.yuml.me