Есть ли какие-либо преимущества в удалении неиспользуемых операторов using в проекте VS (например, это можно сделать с помощью Resharper), или VS автоматически позаботится об этом при сборке / развертывании?
Есть ли какие-либо преимущества в удалении неиспользуемых операторов using в проекте VS (например, это можно сделать с помощью Resharper), или VS автоматически позаботится об этом при сборке / развертывании?
Ответы:
Там нет никаких преимуществ производительности, если это то, что вы имеете в виду.
Все ссылки в сборке полностью квалифицированы; компилятор просто использует ссылки, которые вы предоставляете в своем коде, для полной квалификации идентификаторов, поэтому единственное влияние неиспользуемых ссылок в вашем исходном коде - это небольшое снижение читабельности (почему эта ссылка здесь?) и тривиальное увеличение времени компиляции.
Другими словами, сгенерированный IL является точно таким же, независимо от того, удаляете ли вы неиспользуемые ссылки или нет.
using
ссылки s или DLL ( Reference Include
элемент файла MSBuild, /reference:
аргумент CSC). Я имел в виду: удалить неиспользованные using
s из проекта веб-приложения. Это были единственные строки кода, требующие включения нескольких ссылок на DLL, так что теперь удалите их. Как вы говорите, сборка происходит быстрее, особенно если ссылки были UNC-путями (CSC проверяет все ссылочные пути). Trivial win 2: скорость CI (сценарии захватывают все ссылочные библиотеки DLL) улучшается по мере того, как копируется меньше файлов, например, с сервера управления исходным кодом, чтобы построить сервер для публикации сервера на серверах приложений.
Да, я могу думать о двух основных преимуществах:
Удаление неиспользуемого кода - это просто дополнительный багаж, и его трудно измерить.
Удаление неиспользуемого кода, сокращение времени компиляции, я работаю над проектом, который занимает где-то от 15 до 20 минут, есть тонны неиспользуемого кода. Исключение неиспользуемого кода сократило время компиляции до ~ 7 минут. Это делает различие, когда в команде много разработчиков, и это экономит время для быстрого создания и тестирования.
Если вы автоматизировали сборку и юнит-тесты, теперь вы удалили ненужные юнит-тесты. опять же, это сокращенное время, необходимое для запуска модульных тестов. Просто увеличил эффективность вашего процесса управления Continuous Build.
removing unused references
(DLL) и все ответы оremoving unused using statements
.