Métricas de Código sin VS2010

En el post anterior mencionamos como utilizar métricas de código en Visual Studio 2010. Ante esto, surgen varias preguntas muy interesantes, tales como:
– Y si no tengo Visual Studio 2010?
– Y si solo tengo los ensamblados? (es decir, assemblies, dll’s o exe’s .net)

Qué hacer al respecto, pues, dos pasos:
– Descargar el .net Reflector, que por cierto, tiene versión Free (antes solo había Free, ahora ya hay versión Pro).
– Descargar el add-in de CodeMetrics, disponible en CodePlex.

Por suerte ambas herramientas (reflector y add-in) vienen comprimidas, asi que el trabajo a realizar es:
– Descomprimir el contenido en la misma carpeta.
A tener en cuenta: este add-in viene con archivo de configuración, el cual reemplazará el que viene con el .net Reflector.

– Ejecutar el archivo reflector.exe, de salir una ventana similar a esta, presionar el botón cancelar.
image
– Para configurar el add-in, hacer click en View/Add-ins…
image
– La ventana debe quedar con el add-in configurado, esto haciendo click en el botón Add… y seleccionando el ensamblado Reflector.CodeMetrics.dll
image 
– Cerrar la ventana anterior y en base a esto, si revisamos el menú Tools.
image
– Si desean probar esta funcionalidad, pues los invito a arrastrar un assembly (o ensamblado) .net a la herramienta, en mi caso, queda así: 
image
– Se hace click en el ícono blanco y verde (Start Analysis) y a revisar los resultados!
image
– Ahora, como podrán notar, hay algunas diferencias, entre las mas importantes:
–> Hay mas métricas!! y cuáles son? pues los invito a revisarlas =)
–> El combo de tipo de métricas, muy bueno eh!
image
Ahora… qué les puedo recomendar? pues que descarguen y le den una revisada.

Siempre es bueno probar alternativas, mas aun si trabajas en entornos anteriores a Visual Studio 2008, o quizá trabajas con Visual Studio Express.

Otro dato, pues revisen el resto de add-ins, son muy interesantes!

Saludos
@Jersson

Métricas de Código con VS2010

Usar métricas de código es una técnica recomendada al realizar Análisis de Código, en el caso de Visual Studio, se encuentra disponible desde la versión 2008.
En el caso de Visual Studio 2010 se recomienda el uso de esta característica debido a que se convierte en una de las principales herramientas que permiten asegurar la calidad del código que se viene escribiendo.

¿Cómo se utiliza en Visual Studio? No es muy complicado, te ubicas sobre el proyecto que deseas analizar, click derecho y…

image 
Esto generará el siguiente reporte:

image 
A lo cual, debemos considerar los siguientes indicadores:
– Maintainability Index / Nivel o Indice de Mantenimiento: Indicador que refleja si el código escrito es facil de entender, modificar y/o extender ante alguna eventualidad. A mayor indice, mejor el nivel de mantenimiento.
– Cyclomatic Complexity / Complejidad Ciclosomática: Orientado a la complejidad que se involucre en la lógica que se escriba (condiciones, bucles)
– Depth of Inheritance / Profundidad de Herencia: Niveles de herencia que se manejen. A menor complejidad, mejor código.
– Class Coupling / Nivel de Acoplamiento: A menos acoplamiento de tus clases, pues mucho mejor.
– Lines of Code / Líneas de Código: Aqui habla de líneas de código sin contar vacíos o cortes/saltos de línea debido a que la expresión es demasiado larga. A menos líneas, mejor código.

Y de qué manera se obtiene mayor descripción de estos indicadores? pues pasando el cursor sobre cada cabecera de columna.

image 
En líneas generales siempre me ha llamado la atención este tipo de herramientas (se nota no? jeje). Para este caso recomiendo revisen las opciones del reporte generado, ya que, como tal, maneja filtros, exportación a excel!!, análisis de todos los proyectos, y asi =D. Ahora, si encuentran algún método que esta en rojo, pues, hagan doble click y a reparar!

Ahora… y si no tenemos Visual Studio? es posible generar métricas? pues… veamos en el siguiente post.

Saludos
@Jersson

StyleCop en VS2010

En esta oportunidad comentaré sobre StyleCop, como tal, una herramienta de Análisis de Código, con la particularidad de estar completamente orientado a buenas prácticas y estándares en C#.
Actualmente se integra sin problemas con el VS2010, pero si cuentan con versiones anteriores, tales como VS2005 o VS2008, no hay problema, de acuerdo a lo revisado, tambien funciona!

Al realizar la instalación agrega a nuestro menú contextual una opción de análisis, la cual podemos usar a nivel de proyecto o incluso desde la edición del código fuente.

image 
image 
Al ejecutar esta opción, de manera similar al resto de herramientas de análisis, se muestra un reporte de ejecución y cumplimiento de reglas.

image 
El menú contextual brinda las mismas opciones que el resto de herramientas analizadas, con la diferencia de contar con un archivo de ayuda (en formato chm) ya descargado.

image 
En general, esta herramienta me parece muy importante si es que vamos aprendiendo a programar en C#, ya que, a diferencia del resto de herramientas revisadas, esta es completamente orientada al lenguaje, aunque claro, dentro de poco existirá la versión para VB.net, asi que, todos contentos! =)

En esta ocasión no pude grabar por problemas logísticos (lease: mi sobrina destruyó el micrófono), pero bueno, espero les sirva este resumen.

Saludos
@Jersson

Mi sesión en la URP: VS2010: herramienta de desarrollo?

Hola a todos! tal como indicaba en mi post anterior, había sido invitado como ponente en el Lanzamiento de VS2010, esto en la Universidad Ricardo Palma.

Pues bien, debo indicar que para tristeza mia, me quedé algo corto de tiempo, quizá por exceso de optimismo al realizar y planificar las primeras demostraciones. Pero bueno, hay muchas cosas que se tienen que afinar, espero mejorarlas en adelante =)

Ante todo esto, nuevamente agradecer a los chicos de la Célula URP.Net y a mi amigo @FreddyVidal por la confianza, invitación y reconocimiento que hicieron al final del evento =), hasta me dieron diploma!! ='(

Pues nada más, aquí la presentación:

Saludos y nuevamente, Gracias!!
@Jersson

Este Viernes 21 expondré en el Lanzamiento de VS2010 / URP!!

Asi es! el buen @Freddy_Vidal me invitó al Lanzamiento de Visual Studio 2010 en la Universidad Ricardo Palma! de ponente!! yo muy contento y a la vez preocupado, ya que ahora me queda terminar las demos =D

Esta conferencia estará muy interesante ya que viene un invitado internacional! deberian revisar su blog, ya que la informacion que el sr. Rodrigo Diaz, MVP/Ineta Speaker, es altamente recomendable!

Para ese día tengo planeado armar una serie de demostraciones orientadas a como es que Visual Studio 2010 ha evolucionado en lo que respecta a productividad y apoyo a los desarrolladores, y bueno… no solo desarrolladores!

Me despido, necesito dormir (si supieran en las que ando ultimamente!), no sin antes poner el banner que acabo de descubrir en la red 😀

LanzamientoVS2010.URP

Ahora si…
Saludos!
@Jersson

Code Analysis en VS2010

Pues bien, tal como indicamos en el post de analizadores de código, Visual Studio 2010 cuenta con una herramienta de Code Analysis de un comportamiento similar al mostrado en nuestro post de FxCop.
Sin mas, vamos al video!

Como siempre, me queda agregar que todo feedback es bienvenido =)

Muchas Gracias
@Jersson
PD: He intentado poner el video pero al parecer hay un problema que no descubro =( , de momento, aqui el link.

Análisis Estático de Código .net: FxCop, StyleCop y Code Analysis

El análisis de código es una técnica de verificación de cumplimiento de reglas y buenas prácticas de diseño y programación, entre las cuales podemos mencionar la siguiente clasificación:
– Nomenclatura
– Diseño
– Performance
– Seguridad
– Documentación
– Mantenimiento
– Legilibilidad

Se habla de análisis estático del código, cuando no se requiere ejecutar la aplicación o fuentes a analizar.
Para este caso, recomendaremos 3 herramientas que deberían considerar:
FxCop: Herramienta gratuita que permite verificar un conjunto de reglas, buenas prácticas y recomendaciones basadas en las Microsoft .net Framework Design Guidelines, un ejemplo de estos lineamientos puedes encontrarlos en esta referencia. El análisis de FxCop, es realizado sobre assemblies, es decir, el trabajo lo realiza sobre fuentes ya compiladas.

image 
Code Analysis: Herramienta que viene incluida desde Visual Studio 2005, con funcionalidad similar a la brindada al FxCop, esto en lo que respecta al conjunto de reglas usadas para la verificación. Pero con la diferencia de poder usar esta característica desde el código fuente.

image 
StyleCop: Herramienta gratuita que en sus primeras versiones está orientada exclusivamente a ser una base de buenas prácticas y recomendaciones para C#.
A diferencia de FxCop, trabaja directamente sobre el código fuente, integrándose sin problema al Visual Studio.

image
Pues… y que opinan al respecto? cual usarían? notan diferencias entre las herramientas? pues si que las hay.

Un Saludo
@Jersson

Abril 2010: Resumen de posts, videos y comunidad!

Pues bien, se acabó el cuarto mes del año, y a manera de ejercicio haremos un breve resumen:

Posts:
Ese no es mi problema!: En el cual hablamos de la necesidad de solucionar problemas y como esta necesidad se ve opacada por intentar al “responsable”. Este post incluye un video muy interesante, en si, es la vida del post =D
Muy buen video, creo yo, aplica muchas ramas y carreras, por no decir todas.

La diferencia entre el QUE y el COMO: En este post busqué reflejar una problemática muy latente en la toma de requerimientos, y claro! en la etapa de construcción de software!

Herramientas:

XMind: Aqui mostré una de las herramientas que uso constantemente en las reuniones, para resumir, o complementar las presentaciones.
Si bien es cierto, solo fue un post de presentación, tengo en mente realizar algunos post  sobre algunas bondades, y tambien revisar (si el tiempo me lo permite) el Mind Manager, ya que segun los últimos reportes, sigue siendo el primero.

Videos:
Primer video publicado: Mi primer intento de screencast usando Visual Studio 2010, por suerte ya me pude comprar un micrófono decente. Esa vez mostré la facilidad de uso del VS2010, un vistazo a la sección de pruebas unitarias, y bueno, a mejorar eso!

¿Qué es Cloud Computing?: Excelente video en español, explicando los fundamentos de Cloud Computing.

Comunidad:
– (Alphab-IT) Tecnologías de Información en el Mercado Peruano:

En este caso fuimos invitados como ponentes de la primera de una serie de conferencias a ejecutarse en la Universidad Tecnológica del Perú, por mi parte hablé sobre Valor Agregado en las Tecnologías de Información, mencionando conceptos y herramientas como:
–> Visual Studio Team System 2010 
–> Team Foundation Server 2010
–> ASP.NET MVC
–> NerdDinner y DinnerNow
–> MSF y MSF for Agile

José y Roberto, tambien invitados al evento, tocaron temas como:
–> Gobierno Electrónico
–> Green IT
–> Virtualización
–> BPOS
–> Live Services
–> Comunicaciones Unificadas

Dicho evento fue muy alentador ya que contamos con una asistencia promedio mayor a 250 personas (llegado un momento, casi llenamos el auditorio de 300 personas!)
Aqui pueden ver mi presentación y algunas fotos del evento =)

– (Agile Perú) Lima Agile Day 2010:
En este caso pude participar como organizador y ser uno de los ponentes invitados, ademas claro de los dos expositores internacionales =)
Pude hablar sobre Lecciones Aprendidas como Arquitecto Agil, y la verdad, es que al terminar la sesión, sentí que me quedé corto de tiempo y con muchas ganas para repetirlo una vez mas, con nuevos términos y conceptos a mejorar!
Los temas, conceptos y herramientas que pude resaltar fueron:
–> Scrum
–> MSF for Agile
–> MS Project, MS Excel y cómo es que trabajan con Team Foundation Server
–> Pair Programming y Pair Working (concepto evolucionado del trabajo en parejas)
–> Mitos sobre agilidad (algunas experiencias y comentarios al respecto)

A pesar de ello, en general, siento que los 80 asistentes al evento, salieron contentos y con algunas ideas que (espero) podrían servirles en adelante.
Aqui pueden ver mi presentación y algunas fotos del evento =)

– (Agile Perú) Reunión Mensual y Retrospectiva Lima Agile Day 2010:

A inicios de mes, poco antes del Lima Agile Day, se llevó a cabo la reunión Mensual de la comunidad y se tocaron temas muy interesantes, tales como:
–> Integración Contínua, conceptos básicos, herramientas y problemáticas
–> Team Foundation Server (en este punto, muchas personas no conocian sus bondades!)
–> Pruebas Unitarias y TDD, en varias herramientas, incluyendo las bondades de Visual Studio =P
–> Scrum en otros rubros, como gestión de normativas técnicas.

Ya terminando el mes, realizamos una retrospectiva, y bueno, para esta reunión encontramos aspectos muy importantes, ya que con respecto al evento, debiamos centrarnos en:
–> Mejorar la logística del evento, ya que hubieron algunos inconvenientes de último minuto.
–> Identificar nuevos ponentes, pues en la variedad está el gusto (aunque, espero les haya gustado mi tema!!)
–> Wifi =)
–> Mejorar la publicidad
–> Conservar el local.

Las 3 Fotos de Mes
Aqui tres fotos que quiero compartir con ustedes, esto es mas o menos el reflejo de lo ocurrido este mes.

Muchas Gracias a los asistentes a los eventos en que participamos!


Roberto hablando presentando algunas funcionalidades de Visual Studio 2010. Buena Roberto!


Un mensaje que debemos considerar, no solo nuevos temas, tambien nuevos expositores!

Y culminando…
Y bueno… que se viene para este mes de Mayo?? pues espero que:
–> Al menos un par de screencasts,  
–> Dos posts filosóficos, por asi decirlo =D, es decir, cuando hablamos de metodologías o puntos de vista en general.
–> Espero, que se pueda al menos un webcast, es decir, vía LiveMeeting, o bueno, la herramienta que podamos conseguir =)
–> Algunos posts de Visual Studio 2010, porque ya es momento, no? =)
–> Seguir apoyando a las comunidades y continuar con un proyecto interno al respecto =)

Sin más, me despido.
Saludos y Feliz Día del trabajo!
@Jersson

Retrospectiva Lima Agile Day 2010: Post No Oficial, y Fotos!

El día de ayer luego de unas coordinaciones previas al Lima Agile Day 2010 (evento al que pude asistir como orador), es que pudimos realizar nuestra esperada retrospectiva.

De esta pudimos rescatar muchos aspectos, entre los cuales mencionaré algunos:
– Mejorar la logística del evento, ya que hubieron algunos inconvenientes de último minuto.
– Identificar nuevos ponentes, pues en la variedad está el gusto (aunque, espero les haya gustado mi tema!!)
– Wifi =)
– Mejorar la publicidad
– Conservar el local.

Aprovechamos tambien para conversar sobre los rumbos de la comunidad, y bueno, se verán novedades en las siguientes reuniones!!
De momento algunas fotos que se pudieron rescatar:

Asistieron Pedro, Gustavo V, Angel, Eddie, Carlos, Alberto, y bueno, yo =)
Un Saludo y Feliz Día del Trabajo!
@Jersson