¿Hay alguna manera de deshacerme de la larga lista de usos en la parte superior de mis archivos .cs?

StackOverflow https://stackoverflow.com/questions/62219

Pregunta

A medida que obtengo más y más espacios de nombres en mi solución, la lista de instrucciones de uso en la parte superior de mis archivos se hace cada vez más larga.Este es especialmente el caso en mis pruebas unitarias donde para cada componente que podría llamarse necesito incluir el uso de la interfaz, el contenedor de IoC y el tipo concreto.

Con más de 17 líneas de usos en mis archivos de prueba de integración, se está volviendo francamente complicado.¿Alguien sabe si hay alguna manera de definir una macro para mi base usando declaraciones?¿Alguna otra solución?

¿Fue útil?

Solución

Algunas personas disfrutan ocultando los usos en un #region.De lo contrario, creo que no tienes suerte.A menos que quieras poner el espacio de nombres en todos tus referentes.

Otros consejos

Sé que no debería decir esto en voz alta, pero tal vez reconsidere su diseño.

17 usos en 1 archivo = mucho acoplamiento (en el nivel del espacio de nombres).

Yo mismo no soporto a Resharper.Pero tampoco soporto el uso desordenado de declaraciones.Yo uso el Comandos de poder complemento para VS, que tiene un útil comando 'Eliminar y ordenar' usando declaraciones (entre otras cosas buenas).

Aquí hay cuatro posibles problemas;

Los espacios de nombres en su código están dividiendo sus clases demasiado finamente. si tienes, por ejemplo;

using MyCompany.Drawing.Vector.Points;
using MyCompany.Drawing.Vector.Shapes;
using MyCompany.Drawing.Vector.Transformations;

Considere colapsarlos en un solo MyCompany.Drawing.Vector espacio de nombres.Probablemente no estés ganando dividiendo demasiado.Visual Studio Code Analysis/FxCop tiene una regla para esto, verificando la cantidad de clases en un espacio de nombres.Si son muy pocos, te avisará.

Estás poniendo demasiadas pruebas en la misma clase. Si estás haciendo referencia System.Data, System.Drawing, y System.IO en la misma clase, considere escribir más pruebas atómicas: algunas que acceden a bases de datos, otras que dibujan imágenes y otras que acceden al sistema de archivos.Luego divida cada tipo en tres clases de prueba.

Estás escribiendo pruebas que hacen demasiado. Si hace referencia a muchos espacios de nombres, es posible que sus pruebas estén combinando demasiadas funciones.Este tipo de acoplamiento a menudo puede tener errores, así que intente dividir funciones grandes y de amplio alcance en partes más pequeñas y pruébelas en archivos separados.

Muchos son redundantes. ¿Se utilizan todos o simplemente se copian y pegan de otros archivos?Haga clic derecho en el editor de código y elija entre las opciones "Organizar uso" para eliminar las declaraciones no utilizadas.

¿Alguien sabe si hay una forma de definir una macro para mi base usando declaraciones?

¿Quiere decir que los espacios de nombres que utiliza con frecuencia se agregan automáticamente a cada nueva clase?En caso afirmativo, Resharper también puede hacerlo.Además, tiene una función para poner los usos en una región en la limpieza de código.Resharper puede ser el camino a seguir (no te arrepentirás, como puedo decir por experiencia propia).

VS2008 agregó un menú contextual "Organizar usos", que tiene una opción Ordenar, Eliminar y "Eliminar y ordenar" que hará lo que desee por archivo.El complemento Visual Studio Power Commands agrega un menú contextual en el explorador de soluciones para proyectos y soluciones que es "Eliminar y ordenar" para todos los archivos del proyecto y todos los proyectos de la solución, respectivamente.

Si desea cambiar el uso predeterminado de las declaraciones que se realizan al crear un nuevo archivo, eche un vistazo al directorio C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\ItemTemplates\CSharp\Code\1033.Contiene un montón de archivos zip que puede modificar para cambiar las plantillas de los archivos de código (obviamente, suba en la estructura del directorio para cambiar otros idiomas u otros tipos de archivos).

Ver aquí para más información.

Puede resultar útil utilizar alias.No estoy seguro de que valga la pena, pero en lugar de:

using System.Web.UI;
using System.Web.Mail;
using System.Web.Security;
... Control ...
... MailMessage ...
... Roles ... 

puedes usar:

using W = System.Web;
... W.UI.Control ...
... W.Mail.MailMessage ...
... W.Security.Rolse ...

Resharper, el complemento para Visual Studio, tiene una función que elimina los usos no utilizados de un archivo, pero no conozco nada que haga exactamente lo que usted describe.

En VS2008, puede hacer clic derecho en el archivo CS y elegir "Organizar usos".Los eliminará y los clasificará por usted también.Aparte de eso, simplemente usaría #region.También, CONTROL+METRO+oh colapsará todas las funciones de sus regiones, etc. en el momento del diseño.¡Utilizo este atajo MUCHO!

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top