Что преимущества поддержания являются “чистым” списком использования директив в C#?

Замыкания позволяют вам обращаться к переменным в их внешних областях. Внешняя переменная области видимости в этом случае (b) объявляется как то, что Java-сообщество теперь называет фактически финальным, то есть ее значение не изменяется с момента инициализации (int b = 20) Чтобы быть доступным.

Имейте в виду, что переменные должны быть объявлены как окончательные или эффективно окончательные, чтобы это работало как замыкания.

Теперь, что касается вашего кода, этот код объявляет метод doProcess (...) , который возвращает метод для частичного выполнения метода doProcess (...) .

Метод process (...) обращается к b во внешней области видимости метода doProcess (...) , который объявлено окончательно окончательным.

13
задан Jon Skeet 24 October 2008 в 21:09
поделиться

8 ответов

Для меня это - в основном все о меньшем количестве шума (плюс создание счастливого Resharper!).

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

10
ответ дан 1 December 2019 в 17:51
поделиться

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

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

0
ответ дан 1 December 2019 в 17:51
поделиться

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

2
ответ дан 1 December 2019 в 17:51
поделиться

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

2
ответ дан 1 December 2019 в 17:51
поделиться

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

  1. Меньше шанса для Конфликтов пространства имен
  2. Меньше "шума" в файле кода
  3. Очень явный, о которых пространствах имен и возможных типах, чтобы ожидать в файле
  4. Используя меню удалять неиспользованный и Вид означает больше непротиворечивости с использованием операторов среди devs. Меньше шанса немого checkins только для согласовывания его.
7
ответ дан 1 December 2019 в 17:51
поделиться
  1. Меньше шума.
  2. Ясное ожидание того, какие типы используются ("Уровень My UI зависит от Системы. Сеть. Ничего себе, почему?")
  3. Более чистые ссылки: если у Вас есть минимальный набор использования операторов, Вы можете очистка Ваши ссылки. Часто я вижу разработчиков просто продолжать бросать ссылки в их проекты, но они никогда не удаляют их, когда они больше не необходимы. Если у Вас нет ничего, чему на самом деле нужна ссылка (и оператор использования рассчитывает), это становится тривиальным для чистки ссылок. (Почему Вы хотели бы сделать это? В больших системах, которые были разложены на компоненты, это оптимизирует Ваши зависимости от сборки путем устранения неиспользованного deps.)
7
ответ дан 1 December 2019 в 17:51
поделиться

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

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

18
ответ дан 1 December 2019 в 17:51
поделиться

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

0
ответ дан 1 December 2019 в 17:51
поделиться
Другие вопросы по тегам:

Похожие вопросы: