Por ejemplo, rara vez necesito:
using System.Text;
pero siempre está ahí por defecto. Supongo que la aplicación usará más memoria si su código contiene directivas innecesarias . Pero, ¿hay algo más que deba tener en cuenta?
Además, ¿hace alguna diferencia si la misma directiva de uso se usa en un solo archivo frente a la mayoría / todos los archivos?
Editar: Tenga en cuenta que esta pregunta no se trata del concepto no relacionado llamado declaración de uso , diseñado para ayudar a administrar los recursos al garantizar que cuando un objeto se sale del alcance, se llama a su método IDisposable.Dispose . Consulte Usos de "usar" en C # .
fuente
No son algunas de las razones para la eliminación no utilizado usando (s) / espacios de nombres, además de la preferencia de codificación:
Lo que no eliminará los espacios de nombres no utilizados :
El conjunto resultante es el mismo con o sin uso sin usar (s) eliminado (s).
fuente
using
directivas no utilizadas en los.cs
archivos pueden evitar que elimine algunas referencias de ensamblaje (de otro modo no utilizadas) de su.csproj
proyecto. Si tiene una "solución" de muchos proyectos, las referencias innecesarias entre los proyectos obligarán a los proyectos a compilarse en un orden específico cuando, de hecho, son independientes y pueden compilarse en paralelo. Por lo tanto, elimine lasusing
directivas no utilizadas antes de buscar referencias de proyectos no utilizados en una solución de proyectos múltiples.La limpieza del código es importante.
Uno comienza a tener la sensación de que el código puede estar sin mantenimiento y en el camino del campo de navegación cuando ve usos superfluos. En esencia, cuando veo algunas declaraciones de uso no utilizadas, una pequeña bandera amarilla se enciende en la parte posterior de mi cerebro y me dice que "proceda con precaución". Y leer el código de producción nunca debería darte esa sensación.
Así que limpia tus usos. No seas descuidado Inspira confianza. Haz que tu código sea bonito. Dale a otro desarrollador esa sensación cálida y difusa.
fuente
Organize Usings -> Remove and Sort
vez en cuando. Por cierto, para mí las dos opciones superioresOrganize Usings
no tienen sentido. Estoy hablando de VS2013 por cierto.No hay una construcción IL que corresponda
using
. Por lo tanto, lausing
declaraciones no aumentan la memoria de su aplicación, ya que no se genera ningún código o datos para ella.Using
se usa en tiempo de compilación solo con el propósito de resolver nombres de tipo cortos a nombres de tipo completamente calificados. Por lo tanto, el único efecto negativo innecesariousing
puede tener es ralentizar un poco el tiempo de compilación y tomar un poco más de memoria durante la compilación. Aunque no estaría preocupado por eso.Por lo tanto, el único efecto negativo real de tener
using
declaraciones que no necesita es en intellisense, ya que la lista de posibles coincidencias para completar mientras escribe aumenta.fuente
Puede tener conflictos de nombres si llama a sus clases como las clases (no utilizadas) en el espacio de nombres. En el caso de System.Text, tendrá un problema si define una clase llamada "Encoder".
De todos modos, esto suele ser un problema menor y detectado por el compilador.
fuente
Su aplicación no usará más memoria. Es para que el compilador encuentre las clases que usa en los archivos de código. Realmente no duele más allá de no estar limpio.
fuente
Es preferencia personal principalmente. Los limpio yo mismo (Resharper hace un buen trabajo al decirme cuando no es necesario usar declaraciones).
Se podría decir que podría disminuir el tiempo de compilación, pero con las velocidades de la computadora y el compilador en estos días simplemente no tendría ningún impacto perceptible.
fuente
Dejar
using
directivas adicionales está bien. Hay un poco de valor en eliminarlos, pero no mucho. Por ejemplo, hace que mis listas de finalización de IntelliSense sean más cortas y, por lo tanto, más fáciles de navegar.Los ensamblados compilados no se ven afectados por
using
directivas extrañas .A veces los pongo dentro de un
#region
, y lo dejo colapsado; Esto hace que ver el archivo sea un poco más limpio. OMI, este es uno de los pocos buenos usos de#region
.fuente
#region
", ¿quiere decir que usar#region
es malo en la mayoría de los casos?#region
es un código de olor. Dice que está sucediendo demasiado en tu clase.si desea mantener limpio su código, las
using
declaraciones no utilizadas deben eliminarse del archivo. los beneficios parecen muy claros cuando trabaja en un equipo colaborativo que necesita comprender su código, piensa que todo su código debe mantenerse, menos código = menos trabajo, los beneficios son a largo plazo.fuente
Solo se usan como atajo. Por ejemplo, tendría que escribir: System.Int32 cada vez que no tuviera un sistema que lo utilizara; encima.
Eliminar los no utilizados solo hace que su código se vea más limpio.
fuente
La declaración de uso simplemente evita que califique los tipos que usa. Personalmente me gusta limpiarlos. Realmente depende de cómo se use una métrica loc.
fuente
Tener solo los espacios de nombres que realmente usa le permite mantener su código documentado.
Puede encontrar fácilmente qué partes de su código se llaman entre sí mediante cualquier herramienta de búsqueda.
Si tiene espacios de nombres no utilizados, esto no significa nada al ejecutar una búsqueda.
Estoy trabajando en la limpieza de espacios de nombres ahora, porque constantemente me preguntan qué partes de la aplicación están accediendo a los mismos datos de una forma u otra.
Sé qué partes están accediendo a los datos en cada sentido debido a que el acceso a los datos está separado por espacios de nombres, por ejemplo, directamente a través de una base de datos y directamente a través de un servicio web.
No puedo pensar en una forma más simple de hacer todo esto de una vez.
Si solo desea que su código sea un cuadro negro (para los desarrolladores), entonces sí, no importa. Pero si necesita mantenerlo con el tiempo, es una documentación valiosa como todos los demás códigos.
fuente
La declaración 'using' no afecta el rendimiento, ya que es simplemente una ayuda para calificar los nombres de sus identificadores. Entonces, en lugar de tener que escribir System.IO.Path.Combine (...) , simplemente puede escribir Path.Combine (...) si ha utilizado System.IO .
fuente
No olvide que el compilador hace mucho trabajo para optimizar todo al construir su proyecto. Usar eso se usa en muchos lugares o 1 no debería hacer algo diferente una vez compilado.
fuente