Ответ 1
Для меня это в основном все о меньшем шуме (плюс делает Resharper счастливым!).
Я считаю, что любое улучшение времени компиляции было бы минимальным.
Я знаю, что VS2008 имеет функцию удаления и сортировки для очистки с помощью директив, равно как и Resharper. Помимо того, что ваш код "чист" и устраняет проблему ссылок на пространства имен, которые могут отсутствовать в будущем, каковы преимущества поддержания "чистого" списка использования директив?
Меньше кода? Более быстрое время компиляции?
Для меня это в основном все о меньшем шуме (плюс делает Resharper счастливым!).
Я считаю, что любое улучшение времени компиляции было бы минимальным.
Если у вас всегда есть только те директивы, которые вам нужны, и всегда их сортировать соответствующим образом, тогда, когда вы приходите к разным двум версиям кода, вы никогда не увидите ненужных изменений.
Кроме того, если у вас есть аккуратный набор использования директив, тогда любой, кто смотрит на код, который начнется, может получить приблизительное представление о том, что будет использоваться, просто взглянув на директивы using.
Там нет воздействия во время выполнения. Это чисто компилирует время. Это может повлиять на следующее:
Для меня чистый список использования инструкций в начале может дать хорошее понимание ожидаемых типов.
Я видел приличную прибыль во время компиляции несколько лет назад, когда я впервые установил ReSharper (на 18 проектных решениях). С тех пор его просто нужно было держать в чистоте.
Я не могу говорить о преимуществах во время компиляции и производительности, но есть меньше шансов на конфликты пространства имен, если вы минимизируете свои объявления использования. Это особенно важно, если вы используете более одной сторонней библиотеки.
Существует одна разница во времени компиляции: когда вы удаляете ссылку, но по-прежнему имеете директиву using в своем коде, вы получаете ошибку компилятора. Поэтому наличие чистого списка использования директив упрощает удаление неиспользуемых ссылок.
Обычно компилятор удаляет неиспользуемые ссылки, но я не знаю, работает ли это при использовании кода.