2011-01-17 10 views
5

Obtengo el Análisis de código de Visual Studio advirtiendo CA1506 para una clase C#. Dice que "FormMain" se combina con 93 tipos diferentes (sin IComponent) de 25 espacios de nombres diferentes. Reescribe o refactoriza los métodos de esta clase para disminuir su acoplamiento de clase, o considera mover algunos de los métodos de la clase a otros tipos. está estrechamente relacionado con. Un acoplamiento de clase superior a 95 indica un mantenimiento deficiente, un acoplamiento de clase entre 95 y 80 indica un mantenimiento moderado, y un acoplamiento de clase inferior a 80 indica una buena capacidad de mantenimiento ".Analizando la advertencia de FxCop/Code Analysis CA1506: AvoidExcessiveClassCoupling

Mi pregunta es simplemente, ¿dónde puedo ver una lista de todos los tipos a los que se acopla FormMain, para poder entender mejor la situación?

Gracias.

+0

¿Cuántos controles tiene usted en este formulario? ¿Cuántas líneas de código en el archivo form.cs? –

+0

Estoy utilizando la barra de cinta Developer Express y los paneles de acoplamiento. Hay alrededor de 30 controles en la barra de la cinta. Incluyendo líneas en blanco y comentarios hay alrededor de 1600 líneas (sin contar FormMain.Designer.cs), de las cuales aproximadamente 800 líneas no son líneas en blanco ni comentarios. – RenniePet

Respuesta

4

Puede utilizar Reflector para analizar todo lo que un usos de clase (haga clic derecho en la clase, haga clic en 'Analizar', ampliar 'Depende On')

+0

Muchas gracias. Eso se ve muy interesante, y creo que la respuesta a mi pregunta está enterrada en esa lista. Lo único que me gustaría saber ahora es si hay alguna manera de obtener una lista que contenga solo los tipos, y no todos los métodos dentro de los tipos, solo para que sea más fácil para mí poner números en los tipos DevExpress vs. Tipos de .Net Framework frente a mis propios tipos. – RenniePet

+0

Es curioso, cuando elimino todos los métodos de esa lista, obtengo unos 145 tipos en 20 espacios de nombres, que no es exactamente lo que dijo Code Analysis en su mensaje de advertencia. Aún así, ahora me siento lo suficientemente seguro como para ignorar esa advertencia, culpándome por el "problema" en DevExpress. (DevExpress cuentas para 70 tipos, .Net Framework para 40, y mis propios tipos para los 30 restantes). – RenniePet

+0

@RenniePet: ¿Tiene algún código de lógica de negocio o de acceso a la base de datos en el formulario? Si es así, mover esa funcionalidad a clases separadas también ayudará a reducir las dependencias del formulario. – Pedro