Каковы преимущества поддержания «чистого» списка директив использования в C #? - PullRequest
13 голосов
/ 25 октября 2008

Я знаю, что VS2008 имеет функцию удаления и сортировки для очистки с использованием директив, как и Resharper. Помимо того, что ваш код «чистый» и устраняет проблему ссылки на пространства имен, которые могут не существовать в будущем, каковы преимущества поддержания «чистого» списка директив использования?

Меньше кода? Более быстрая компиляция?

Ответы [ 8 ]

18 голосов
/ 25 октября 2008

Если у вас всегда есть только те директивы using, в которых вы нуждаетесь, и всегда правильно их сортируете, то, когда вы перейдете к разным версиям кода, вы никогда не увидите несущественных изменений.

Кроме того, если у вас есть аккуратный набор директив using, то любой, кто смотрит на код для начала, может получить грубое представление о том, что будет использоваться, просто посмотрев на директивы using.

10 голосов
/ 25 октября 2008

Для меня это в основном меньше шума (плюс радует Решарпера!).

Я думаю, что любое улучшение времени компиляции будет минимальным.

7 голосов
/ 25 октября 2008
  1. Меньше шума.
  2. Четкое ожидание того, какие типы используются («Мой уровень пользовательского интерфейса зависит от System.Net. Вау, почему?»)
  3. Более чистые ссылки: если у вас есть минимальный набор операторов использования, вы можете очистить свои ссылки. Часто я вижу, что разработчики просто продолжают добавлять ссылки в свои проекты, но они никогда не удаляют их, когда они больше не нужны. Если у вас нет ничего, что действительно нуждается в ссылке (и счет оператора using), очистка ваших ссылок становится тривиальной. (Зачем вам это нужно? В больших системах, которые были разложены на компоненты, это упростит ваши зависимости при сборке, удалив неиспользуемые ошибки.)
7 голосов
/ 25 октября 2008

Там нет воздействия во время выполнения. Это чисто время компиляции. Это потенциально влияет на следующее:

  1. Меньше шансов для столкновений пространства имен
  2. Меньше "шума" в файле кода
  3. Очень явно о том, какие пространства имен и возможные типы ожидать в файле
  4. Использование меню для удаления неиспользуемых и сортировки означает большую согласованность с использованием операторов среди разработчиков. Меньше шансов на глупые проверки, просто чтобы исправить это.
2 голосов
/ 25 октября 2008

Несколько лет назад, когда я впервые установил ReSharper (решение для 18 проектов), я увидел приличный прирост времени компиляции. С тех пор дело только в том, чтобы содержать его в чистоте.

2 голосов
/ 25 октября 2008

Для меня, чистый список использования операторов в начале может дать хорошее представление о типах, которые следует ожидать.

0 голосов
/ 27 октября 2008

Существует одно различие во времени компиляции: когда вы удаляете ссылку, но в вашем коде все еще есть директива using, вы получаете ошибку компилятора. Таким образом, наличие чистого списка использования директив немного облегчает удаление неиспользуемых ссылок.

Обычно компилятор удаляет неиспользуемые ссылки, но я не знаю, работает ли это, когда в коде есть использование.

0 голосов
/ 25 октября 2008

Я не могу говорить о преимуществах во время компиляции и производительности, но вероятность конфликтов коллизий имен меньше, если вы минимизируете свои объявления об использовании. Это особенно важно, если вы используете более одной сторонней библиотеки.

...