Bueno últimamente no escribo mucho, y menos aún sobre TFS y similares, lo cierto es que estoy hasta arriba con un tema bastante interesante que ya contaré más adelante, y una de las cosas que estoy haciendo es probando Orcas, por ahora sólo partes de la versión de desarrolladores, y bueno aprovecho para comentar algunas cosas que he estado probando.
La primera novedad, el menú «developer» desde el que accedemos a las funcionalidades específicas de esta versión, interesante para no andar buscando por otros menús:
Empezemos por una que me ha gustado, por su rapidez y sencillez de uso, y que no teníamos hasta ahora, y son las métricas de código, bien esto nos va a dar varias medidas:
- Índice de mantenibilidad (hmm existe este palabro??), pues nada nos dice cuan mantenible es nuestro código, a mayor valor aquí, mejor.
- «Cyclomatic complexity», nos da un índice de «complejidad» es un poco complicado de explicar en poco espacio, por eso aquí os dejo un link a su descripción. A menor valor aquí (menor complejidad) mejor.
- Profundidad de herencia, a mayor valor aquí peor, ya que al tener mayor profundidad de herencia, tendremos más «incertidumbre» respecto al comportamiento de una clase.
- «Class coupling» nos muestra el número total de tipos referenciados.
- Líneas de código 🙂 no comments.
Y bueno el uso es bien sencillo, lo podemos hacer por solución o por proyecto, simplemente seleccionamos un proyecto/solución en el explorador de soluciones, botón derecho y «Generate Code Metrics», con lo que obtenemos esta pantalla en la parte inferior del Visual Studio:
Como véis es muy parecida a la de cobertura de código y podemos ir desplegando para ver más detalle, además la columna del indice de «mantenibilidad» un icono de color verde, que cambia a rojo cuando el índice sea bajo (los valores por los cuales se producirá el cambio aún no los tienen definitivos).
Bueno una nueva funcionalidad muy útil y muy fácil de usar.
Alguna otra nueva funcionalidad interesante, pues bueno, en la parte de análisis de código estático, han añadido una opción que también me ha gustado mucho, y es la de suprimir de los resultados de análisis de código estático el código generado (tableadapters, etc) que, bueno, digo yo, que eso ya lo harán en Microsoft para comprobar el código que generan sus herramientas 🙂
Y ya por último, el profiler, aquí ha habido algún que otro cambio también, a nivel de uso, es muy parecido al que ya tenemos, hay alguna diferencia en el wizard, pero bueno nada que signifique un problema.
Alguna novedad también en la configuración del profiler, como es el poder recolectar contadores de Windows (no los específicos de CPU como en el 2005). También hay una novedad durante la ejecución de las sesiones de profiling, es la opción de poner marcas antes y despues de la ejecución de un escenario para obtener medidas de tiempo de ejecución de un determinado escenario que queramos (me parece que del profiler tendré que hablar más largo y tendido más adelante jeje).
Y la que quería comentar, que me ha gustado es la funcionalidad de obtener los «Hot Path» (es el icono de las llamas en la captura) en las vista de «call tree» , esta funcionalidad nos permite de un modo visual, ver donde están los puntos «negros» de nuestro código, indicando donde tenemos la mayor penalización de rendimiento, y como una imagen vale más que mil palabras, y como seguro que del profiler (eso espero) hablo más adelante, aquí os dejo una captura:
En este caso podríamos ver, como tenemos un «problema» en la función «reduce» es el número de de llamadas a la función «GetUpperBound», que además tieme el mayor tiempo exclusivo de ejecución (bueno quizá no se ve muy bien, pero podéis creerme).
En fin, me dejo muchas cosas en el tintero lo se 🙁 pero tampoco me quiero extender mucho, que bastante ladrillo me ha salido ya, si os interesa alguna parte en específico, comentadmelo e intentaré ir hablando más en detalle.