Каковы преимущества сохранения & # 8220; чистой & # 8221; список использования директив в C #?
-
04-07-2019 - |
Вопрос
Я знаю, что VS2008 имеет функцию удаления и сортировки для очистки с помощью директив, как и Resharper. Помимо того, что ваш код является "чистым" и устранение проблемы ссылки на пространства имен, которые могут не существовать в будущем, каковы преимущества поддержания «чистоты» список директив использования?
Меньше кода? Более быстрая компиляция?
Решение
Для меня это в основном все о меньшем количестве шума (плюс осчастливление Resharper!).
Я считаю, что любое улучшение времени компиляции будет минимальным.
Другие советы
Если у вас всегда есть только те директивы using, которые вам нужны, и вы всегда сортируете их надлежащим образом, то, когда вы начнете анализировать две версии кода, вы никогда не увидите несущественных изменений.
Кроме того, если у вас есть аккуратный набор директив using, то любой, кто смотрит на код для начала, может получить грубое представление о том, что будет использоваться, просто взглянув на директивы using. р>
Нет никакого воздействия во время выполнения. Это чисто время компиляции. Это потенциально влияет на следующее:
<Ол>Для меня чистый список использования операторов в начале может дать хорошее представление о типах, которые следует ожидать.
Несколько лет назад, когда я впервые установил ReSharper (решение для 18 проектов), я увидел приличный прирост времени компиляции. С тех пор его просто держат в чистоте.
Я не могу говорить о преимуществах, связанных с временем компиляции и производительностью, но вероятность конфликтов коллизий пространства имен меньше, если вы минимизируете объявления об использовании. Это особенно важно, если вы используете более одной сторонней библиотеки.
Существует одно различие во времени компиляции: когда вы удаляете ссылку, но в вашем коде все еще есть директива using, вы получаете ошибку компилятора. Таким образом, наличие чистого списка использования директив немного облегчает удаление неиспользуемых ссылок.
Обычно компилятор удаляет неиспользуемые ссылки, но я не знаю, работает ли это, когда в коде есть использование.