c # использование объявлений - больше = хорошо или плохо? - PullRequest
3 голосов
/ 03 сентября 2010

edit опечатки

Привет,

Возможно, это идиотский вопрос, но если он поможет мне следовать передовой практике, мне все равно: P

Скажем, я хочу использовать классы и методы в пространстве имен System.Data ..., а также в пространстве имен System.Data.SqlClient.

Лучше ли использовать оба в игре или только родительский, т.е....

using System.Data
using System.Data.SqlClient

или просто ...

using System.Data

Более важно, я думаю, это оказывает ЛЮБОЕ влияние на приложение - или это просто вопрос предпочтений (объявлениеи родительский, и дочерний элементы хранят остальную часть кода в чистоте и порядке, но разве это в ущерб скорости приложения, потому что оно тянет все родительское пространство имен, а затем дочерний элемент?)вафля

Ответы [ 5 ]

9 голосов
/ 03 сентября 2010

Это не имеет значения для скомпилированного кода.

Лично мне нравится иметь только те, которые я использую (без каламбура), но если вы хотите иметь 100 из них, это может замедлить компилятор, но это не изменит скомпилированный код ( конечно, при условии отсутствия коллизий именования.

Это просто способ во время компиляции позволить вам написать Z, когда вы говорите о X.Y.Z ... компилятор понимает, что вы имеете в виду, и после этого он идентичен.

Если вы собираетесь использовать типы из двух разных пространств имен (и здесь иерархия в значительной степени иллюзорна), я бы лично получил обе директивы using.

8 голосов
/ 03 сентября 2010

Нажмите Organize->Remove Usings, и Visual Studio сообщит вам правильный ответ.

2 голосов
/ 03 сентября 2010

Выразите, что вы имеете в виду, и стремитесь к краткому, ясному коду - это все, что имеет значение здесь. Это не влияет на приложение, только на вас, ваших коллег и мозг ваших будущих работников.

2 голосов
/ 03 сентября 2010

Во-первых, это не влияет на приложение. Вы можете доказать это, посмотрев код CIL, сгенерированный компилятором. Все типы объявлены в CIL с их полными каноническими именами.

Импорт пространств имен - это просто синтаксический сахар, который поможет вам написать более короткий код. В некоторых случаях, возможно, когда у вас очень большой файл кода и вы ссылаетесь только на тип из определенного пространства имен один раз, вы можете выбрать , а не , чтобы импортировать пространство имен и вместо этого использовать полное имя так что разработчику понятно, откуда этот тип. Тем не менее, это не имеет значения.

1 голос
/ 03 сентября 2010

Используйте все, что происходит, когда пишете свое имя типа и нажимаете Ctrl + ., Enter в VS.

...