Soy un poco fanático y tiendo a mantener mis proyectos limpiando referencias y using
s en cada clase para mantener solo lo que realmente se usa.
¿Qué otro argumento podría hacer (además de calmar mi nervio TOC) para mantener lo esencial? Estoy pensando principalmente en referencias del sistema, cualquier referencia al trabajo personalizado traerá muchos problemas de compatibilidad con versiones anteriores. ¿La huella de lanzamiento es más grande? ¿Tiempo de compilación más largo?
using
sy referencias no son lo mismo. Muchas de las respuestas no toman eso en cuenta.Respuestas:
Intellisense será mucho más útil para usted si lo mantiene
using
al mínimo, y eso es una gran ventaja.Aparte de eso, no creo que haya ninguna ganancia. Entonces, tal vez el compilador de C # funcione más rápido, digamos, 1%; Y qué.
fuente
Ctrl+.
una solución rápida "Agregar espacio de nombresXYZ
"using
electrónico hasta que haya descubierto que de hecho son innecesarios, pero no puede resolverlo a menos que haya compilado todo su archivo fuente primero. Al igual que con las referencias de proyectos, no se descartan solo porque no parecen usarse, porque podrían usarse de forma dinámica (no detectable en tiempo de compilación).Dado que es prácticamente trivial lograr esto en Visual Studio (simple clic derecho), ¿por qué no hacerlo?
Esto es consistente con la Navaja de Occam , es simplemente una buena ingeniería.
En cuanto a las consecuencias de no hacerlo, considere lo que sucede si algún otro desarrollador intenta abrir su proyecto y contiene una referencia (no utilizada) a una biblioteca que él / ella no tiene en su computadora. Ahora, ese desarrollador pobre necesita descubrir por qué existe esa referencia no resuelta y qué hacer al respecto.
Si lo prefiere, considérelo en términos de la regla de oro. ¿Le gustaría asumir el desarrollo de un proyecto que tenía muchas referencias a bibliotecas que no tenía en su computadora y que no tenía idea de por qué están allí?
fuente
using
las declaraciones son simplemente para que el compilador pueda hacer referencia completa a clases, etc. Lasusing
declaraciones adicionales no tendrán un efecto apreciable en el tiempo de compilación.Además, el tiempo de ejecución no cargará un ensamblado referenciado hasta que sea realmente necesario, por lo que nuevamente no creo que haya ninguna consecuencia negativa de referencias innecesarias.
Si usa una herramienta como Reflector, la búsqueda y eliminación de estos bits innecesarios puede automatizarse en su mayoría, por lo que diría que es un desperdicio dedicar mucho tiempo a estas actividades. Por ejemplo, una o dos horas eliminando manualmente las
using
declaraciones innecesarias más de lo que paga una licencia Reflector, y viene con muchas otras características que mejoran la productividad.fuente
using
sy no utilizados y referencias no utilizadas. ¡Los dos son muy diferentes!Además de lo anterior, supongo que todavía no se mencionó aquí que cada referencia requiere un componente dentro del marco .NET o una DLL externa. Si se hace referencia a una DLL externa, necesitará tenerla cuando (y dónde) ejecute el software.
Editar: según el comentario válido de phoog a continuación: La aplicación aún se ejecutaría si no se usa la DLL y no se requiere que se envíe con la aplicación solo porque se agregó a las referencias. Para ocuparse de las referencias no utilizadas en el código, puede consultar: Eliminar referencias no utilizadas .
fuente