2012-01-11 8 views
5

Desarrollando una serie de POCO en mi proyecto, y me acabo de dar cuenta de que algunos de ellos no necesitan la cláusula using System;.¿Vale la pena eliminar "usar el sistema" de mis archivos?

¿Hay alguna penalización en el rendimiento o el tamaño por dejar using <module>; sin usar en mis objetos o proyecto?

¿Mis clases se harán más grandes, más lentas o hinchadas debido a esto o el compilador/optimizador es lo suficientemente inteligente como para encargarse de esto?

+2

esa es una de las mejores prácticas, eliminando los espacios de nombres no utilizados –

+3

@ashutoshraina No sé si lo llamaría una "mejor práctica". Puede aumentar la legibilidad, pero no tiene efecto en la salida del código. –

+0

@ Platinum Azure, también pude compilar mi propio kernel y escribir mi versión personalizada de Linux para mis propios fines, pero no es así.:-) – Machado

Respuesta

5

no, no hay problemas de rendimiento.

es sólo una cuestión de legibilidad (que sugeriría para eliminarlos)

más información en: Why should you remove unnecessary C# using directives?

+0

¿Podría indicarme algún recurso o prueba que lo confirme? – Machado

+1

DIY. Compila 2 versiones del código y compara IL generado. –

0

que trae ninguna mejora en el rendimiento ni golpeado.

Elimino todos los usos y clasifico todos los usos como estilo de código (pulcritud). Puede hacerlo a través del menú contextual de Visual Studio (lo vinculo a una tecla de acceso rápido).

1

Todo el "using System;" La declaración no permite usar ese espacio de nombres sin nombres completamente calificados. No afecta el rendimiento en tiempo de ejecución de ninguna manera.

1

No hay penalización de rendimiento en el tiempo de ejecución por tener using declaraciones sin usar en su código. No aparecen como la DLL compilada de ninguna forma (existen en el PDB).

Sin embargo, si sabe que no son válidos, generalmente se considera un buen estilo para eliminarlos. Tener usos no utilizados es, en esencia, establecer una dependencia falsa que su código tiene en un conjunto de tipos y métodos de extensión.

Determinar qué usos no se utilizan es un proceso tedioso. Encuentro que es mejor simplemente instalar una herramienta como PowerCommands y dejar que haga el trabajo de guardar archivos.

0

Si no está utilizando una referencia/montaje o funcionalidad extendida por ejemplo usando System.Linq; de forma predeterminada se agrega a los proyectos VS2010 ... si no lo usa ... simplemente elimínelo ... no hay problemas de rendimiento

0

El using directive es solo azúcar sintáctica.

Agregar referencias no afectará el rendimiento más que una diferencia marginal de tiempo de compilación.

0

¡De ninguna manera afecta la salida del compilador o el rendimiento del programa compilado!

Se puede eliminar como parte de una preferencia personal. Yo personalmente lo recomendaría, ya que haría que la compilación fuera más rápida (menos espacios de nombres para que el compilador la buscara) y también mejoraría el rendimiento de intellisense.