martes, 19 de julio de 2011

Manten limpias tus características

Una de las etapas más aburridas a la vez que necesarias en el desarrollo de software es aquella en la que, una vez lo tenemos todo funcionando perfectamente tenemos que limpiar, pulir y dar cera a los elementos que hemos creado. Algunas tareas que pueden ser relativamente divertidas como refactorizar código y otras que son un absoluto peñazo como, por ejemplo, asegurar que se siguen unas directrices básicas en cuanto a nomenclatura (sí, StyleCop y Resharper nos ayudan bastante pero no impiden que cada developer tiene sus manías a la hora de nombrar clases, por ejemplo).

Hoy, realizando esas tareas de limpieza he dado con un error típico que solemos cometer los que trabajamos con SharePoint debido a cómo Visual Studio 2010 trabaja los conceptos de característica y módulo. El mayor de los problemas es que habitualmente es un error silencioso (y todos sabemos que si algo no hace ruido no es peligroso –salvo la excepción que todos conocemos–) y no solemos prestarles atención.

El problema radica en el hecho que cuando creas un módulo nuevo en Visual Studio 2010, éste se añade a la última característica que hemos añadido a la solución. Si, como es lógico, queremos añadir el módulo a una caacterística concreta, al hacerlo no observaremos ningún mensaje indicando que el módulo ya está añadido a la original. Para evitar este problema basta con mirar la ventana de output de Visual Studio cuando creamos el paquete wsp. Veremos mensajes como los siguientes

c:\code\MyProject\\Package\Package.package : warning SPT6: The Project Item "Module1" is included in the following Features: Feature1, Feature2
c:\code\MyProject\Package\Package.package : warning SPT6: The Project Item "Module2" is included in the following Features: Feature3, Feature4

Viendo esto resulta relativamente sencillo ir a aquellas características donde no deberían estar incluídos los módulos indicados en el error y eliminarlos fácilmente.

1 comentarios:

Unknown dijo...

excelente buenas practicas para el desarrollo David muchas Gracias.