2009-03-13 12 views
44

Je viens d'installer resharper et cela me permet de connaître les espaces de noms que je n'utilise pas réellement dans chacune de mes classes.overhead à "using" déclarations inutilisées?

ce qui m'amène à la question - y a-t-il réellement des frais généraux en laissant ceux-ci, inutilisés, en utilisant des déclarations? Est-ce juste une question de code serré, ou y a-t-il une atteinte des performances dans l'invocation de ces espaces de noms quand je n'en ai pas besoin?

+0

J'ai été surpris que je ne pouvais pas le trouver aussi ... n'hésitez pas à fermer si c'est un dup. – nailitdown

+0

Dupliquer: "Pourquoi supprimer les utilisations inutilisées dans C#?" => http://stackoverflow.com/questions/629667/why-removing-unused-usings-in-c – Sung

+0

@nailitdown: Dieu merci, vous avez ajouté une balise "using".Une question ci-dessous était celle que je cherchais quand j'ai cherché par "tag" – Sung

Répondre

90

De The C# Team's answers to frequently asked questions:

Lorsque vous ajoutez des références d'assemblage ou faire usage de la « » en utilisant des mots clés, csc.exe ignorera tout ensemble qui vous n'avez pas réellement fait usage de dans votre code ... Ne perdez pas votre temps à sortir inutilisés 'using' déclarations ou l'ensemble références de votre application. Le compilateur C# le fera automatiquement pour vous .

Vous pouvez vérifier que c'est effectivement le cas en appelant Assembly.GetReferencedAssemblies(); vous verrez que tout ce qui n'est pas utilisé ne sera pas inclus dans la liste.

La principale utilité en permettant d'éliminer les non utilisés est

  • Il est plus facile de voir ce que votre code utilise en fait
  • Il gardera votre IntelliSense d'être polluée par des choses que vous n'êtes pas allez réellement utiliser.
+0

Excellent arguments. +1 –

37

Il y a quelques raisons de performance à bande vers le bas using déclarations:

  • IntelliSense de VS fonctionne plus rapidement quand il y a moins de données à regarder à travers

Toutefois, notez toutes ces raisons sont compile- spécifique au temps. Le compilateur supprime automatiquement les using non utilisés.

+3

+1 pour le commentaire intellisense; c'est un bon point;] –

+0

Note à tout le monde: n'hésitez pas à ajouter vos propres points. Ceci est une réponse CW. (Je ne vais pas farmer rep.; P) – strager

10

Le plus grand « frais généraux » à l'aide d'instructions unusesd est de comprendre votre code :)

Suppression de ceux non utilisés rend votre code plus facile et plus net pour quelqu'un d'autre à lire et à maintenir.

9

L'éditeur de code C# dans Visual Studio 2008 dispose d'une fonctionnalité permettant de supprimer les non utilisés à l'aide des instructions.

Cliquez avec le bouton droit de la souris et sélectionnez Organiser les fonctions | Supprimer les utilisations inutilisées.

+0

Merci, clairement Visual Studio 2008 et supérieur. –