Agregar "palabros" al diccionario del Code Analysis en Orcas

Al fin!!!!!!!!, algo que ya había comentado como parte de mi participación en el TAP de Orcas, es la posibilidad de agregar palabras al analizador de código estático en Orcas. Esto es necesario porque muchas veces usamos nombres «clave» de producto en el código, o simplemente nuestro nombre de compañía o de producto es un nombre inventado, y claro, ese nombre siempre se usa repetidas veces por el código, esto, con la capacidad del analizador de código estático de mirar la ortografía, se convierte en que tenemos muuuchas alertas para una palabra, que si bien no es correcta «de diccionario», para nosotros si es correcta.

Bueno pues acabo de encontrar un artículo de como añadir palabras  a este diccionario, os lo voy a traducir aquí, el original lo tenéis en el blog del equipo del analizador de código estático (ver)

  1. En el explorador de soluciones, seleccionar el proyecto al que queréis añadir el diccionario, y seleccionar «Add new item»
  2. Seleccionar tipo de fichero Xml y ponerle un nombre como CodeAnalysisDictionary.xml y pulsad «Add»
  3. Seleccionar en el explorador de soluciones el fichero y abrir las propiedades del fichero Xml que acabamos de crear.
  4. En la ventana de propiedades en la Build Action seleccionar CodeAnalysisDictionary
  5. Abrir el fichero para editarlo.
  6. En el editor de XMl agregar este código, sustuir [productname] y [companyname] por nuestros datos, podemos agregar más palabras reconocidas agregando más líneas como esa al Xml:

    <?xml version=»1.0″ encoding=»utf-8″ ?>
    <Dictionary>
        <Words>
            <Recognized>
                <Word>[productname]</Word>
                <Word>[companyname]</Word>
            </Recognized>
        </Words>
    </Dictionary>

Y con esto está, una última cosa que ponen en el artículo, es que estas palabras NO son sensibles a mayúsculas, así que podemos introducirlas todas en minúsculas.

Compartir el diccionario entre proyectos

Una vez que hemos realizado los pasos anteriores, se nos añade al fichero de proyecto basado en MSBuild (csproj o vbproj), la siguiente línea.

    <ItemGroup>
        <CodeAnalysisDictionary Include=»CodeAnalysisDictionary.xml» />
    </ItemGroup>

Con esto y siguiendo los pasos de este artículo (a ver si tengo un rato y lo traduzco) «FAQ: How do I share Managed Code Analysis rule settings over multiple projects? [David Kean]» podemos compartirlo entre varios proyectos.

Si no queremos compartir un mismo fichero para todos los proyectos, podemos seguir los siguientes pasos:

  1. Copia el fichero a un sitio compartido (lo ideal es que esté al mismo nivel que la solución o un un directorio por debajo de esta)
  2. En el Solution Explorer, selecciona Add Existing Item…
  3. Busca el fichero y seleccionalo
  4. En el botón de Add, pulsa la flecha que apunta hacia abajo y selecciona Add As Link
  5. En el Solution Explorer, selecciona el fichero del diccionario y mira sus Properties
  6. En la ventana de Properties, en Build Action selecciona CodeAnalysisDictionary
  7. Repite los pasos 2 a 6 para cada fichero que quieras añadir

Usos avanzados

Esto, como dice en el artículo, es lo más básico que se puede hacer, pero como muchos sabéis todo esto viene de FxCop, por tanto los que ya conozcan los usos de los diccionarios de FxCop saben que tiene opciones más avanzadas, como yo aún tengo que investigarlas, y el autor del artículo lo deja también para más adelante, aquí acabamos, espero que os haya servido de tanta ayuda como a mi.

Documentación del modelo de objetos de Team Foundation Build

Aaron Hallberg ha publicado hace poco una actualización del fichero CHM con la documentación del modelo de objetos de Team Foundation Build para Orcas beta 2, lo podéis descargar aquí

Por cierto, como el propio Aaron recuerda en su blog, una vez descargado, no olvidéis «desbloquearlo» para poder verlo, para esto, sacad las propiedades del fichero chm descargado, y pulsar en el botón «Unblock».

Artículo sobre reporting de Team Foundation

No es algo sobre lo que yo lea mucho la verdad, pero he visto un artículo bastante interesante de Buck Hodges sobre reporting y me ha parecido lo suficientemente interesante como para compartirlo con vosotros 🙂 así que aquí os lo dejo.

Creating and Customizing TFS Reports

En el blog de Buck, también se ha publicado otro material acerca de entender el cubo de TFS de reporting, algo que es medianamente complejo y que para explicarlo se han publicado unos screencasts:

Understanding the TFS Cube