Чи є якісь переваги для видалення невикористаних за допомогою операторів у проекті VS?


21

Чи є якісь переваги для видалення невикористаних висловлювань у проекті VS (як це можна зробити за допомогою Resharper), або VS автоматично подбає про це під час створення / розгортання?


1
Складається враження, що ви запитували про removing unused references(DLL) і про всі відповіді removing unused using statements.
Разван Флавій Панда

@ RăzvanPanda: Ні, це буде з допомогою інструкцій; Мені доведеться чехнути, якщо ти можеш зробити останнє за допомогою R # - це теж буде приємно низькою температурою.
Б. Клей Шеннон

Вісім, виправляючи формулювання відповідно до змісту.
Разван Флавій Панда

1
ви можете видалити невикористані посилання DLL з останніми R #, але важливо бути обережними щодо динамічних посилань DLL, або вони можуть зламатися під час виконання.
Разван Флавій Панда

Відповіді:


23

Немає жодних переваг від продуктивності, якщо ви це маєте на увазі.

Всі посилання на зборах є повністю кваліфікованими; компілятор просто використовує посилання, які ви надаєте у своєму коді, щоб повністю визначити ідентифікатори, тому єдиним впливом невикористаних посилань у вихідному коді є незначне зменшення читабельності (чому це посилання тут?) та тривіальне збільшення часу компіляції.

Інакше кажучи, згенерований IL точно такий же, незалежно від того, видаляєте ви невикористані посилання чи ні.


Вилучення невикористаних уріз може мати опосередковану користь. Якщо це в свою чергу дозволяє одне або кілька посилань на зовнішні DLL-файли вилучити з рішення, це може принести користь розміру розгортання програми та / або часу запуску.
weir

1
Згенерований ІЛ не змінюється, якщо ви видалите вставки, тож я не бачу, як на це все вплине.
Роберт Харві

Правда: IL не зміниться, якщо ви додасте невикористані посилання usings або DLL ( Reference Includeелемент файлу MSBuild, /reference:аргумент CSC). Я мав на увазі: видаліть невикористані usings з проекту веб-додатків. Це були єдині рядки коду, які переконливо включали купу посилань DLL, тому тепер видаліть ці. Як ви кажете, будується швидше - тим більше, якщо посилання були шляхами UNC (CSC перевіряє всі опорні шляхи). Тривіальна виграш 2: Швидкість CI (сценарії захоплюють усі посилання DLL) покращується, оскільки копіюється менше файлів, наприклад, з сервера керування джерелом для створення сервера для публікації сервера на серверах додатків.
weir

Коротший код - це більш читабельний код. Мінус більше - це користь, і це варто зробити з цієї причини.
niico

24

Так - я можу придумати дві основні переваги:

  1. Крім основної функціональної мети (тобто зменшити багатослівність коду), список висловлювань "Використання" у верхній частині кодового файлу може повідомити майбутнім читачам (особливо тим, які не мають Resharper), які простори імен (або принаймні були відповідні) для цього кодового файлу . Якщо ви активно підрізаєте цей список, він може діяти як кращий механізм сигналізації.
  2. Видалення невикористаних просторів імен зменшить кількість кандидатів на автозавершення в текстовому редакторі під час введення. Якщо ви взагалі покладаєтесь на списки автозаповнення, це допоможе вам тримати вас "прямо та вузько" і, можливо, навіть збільшить швидкість друку, оскільки ви зможете трохи швидше знайти свого призначеного кандидата на автозавершення.

1
Ах, дуже хороші бали, особливо №2!
Б. Клей Шеннон

0

Вилучення невикористаного коду - це лише додатковий багаж і важко виміряти досягнуту ефективність.

  • Видалення невикористаного коду, скорочує час компіляції, я працюю над проектом, який займає від 15 до 20 хвилин, є багато невикористаного коду. Усунення невикористаного коду скоротило час компіляції до ~ 7 хвилин. Це робить різницю, коли в команді багато розробників, це економить час для швидкого створення та тестування.

  • Якщо ви автоматизували тести побудови та одиниці, ви видалили одиничні тести, які не потрібні. знову ж це скорочується час, необхідний для запуску одиничних тестів. Просто підвищена ефективність у вашому процесі управління постійною збіркою.

    • Невикористаний код призводить до кращого друку ваших бінарних файлів. Маючи менший друкований код коду, це скоротить час спочатку завантаження / запуск. Хоча вигоди можуть бути дуже мізерними та суб'єктивними.

4
питання не про невикористаний код загалом, а про невикористані посилання
gnat

... див. Як відповісти : "Уважно прочитайте питання . Що, зокрема , запитання? Переконайтеся, що ваша відповідь передбачає це - або життєздатну альтернативу ..."
gnat
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.