Есть ли объективная причина не удалять неиспользуемые стандартные включения из программы на C #? - PullRequest
1 голос
/ 17 октября 2010

Есть ли объективная причина не удалять неиспользуемые включения по умолчанию из программы на C #?
Давайте возьмем этот проект Hello World в качестве примера:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication1
{
    class Program
    {

        static void Main(string[] args)
        {
            Console.WriteLine("Hello world");
        }
    }
}

Программа отлично работает с

using System.Collections.Generic;
using System.Linq;
using System.Text;

часть закомментирована.

Хотя этот пример очень прост, на данный момент я не вижу веской причины сохранять эти три строки с помощью программы.

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

Я просто хочу сказать, что я новичок в C #, поэтому я могу упустить что-то действительно очевидное.

Ответы [ 7 ]

6 голосов
/ 17 октября 2010

без причины; Я обычно удаляю любые «использующие» утверждения, которые я на самом деле не использую. (И поскольку я использую ReSharper с Visual Studio, я могу использовать их ярлыки для удаления неиспользуемых и добавления их обратно, если я буду использовать что-то из одного из них в будущем.)

Очиститель лучше, на мой взгляд.

4 голосов
/ 17 октября 2010

Я регулярно запускаю «удалить неиспользуемые использования и сортировать» по всей моей кодовой базе - один из моих простых красных флажков при просмотре файла класса - это слишком много использования операторов. Обычно это признак того, что класс, на который я смотрю, беспокоится о себе слишком много проблем.

4 голосов
/ 17 октября 2010

1) Они используются и не включены, поэтому они не страдают от снижения производительности, как в C / C ++

2) Intellisense не будет перечислять там классы

3) Методы расширений не работают. Особенно раздражает в случае System.Linq, поскольку LINQ состоит из методов расширения.

2 голосов
/ 17 октября 2010

Чем меньше у вас используемых конструкций, тем лучше, это уменьшает двусмысленность в программе и делает ее намного проще для чтения, когда читатель понимает точный тип, который вы возвращаете и принимаете в качестве аргументов. На мой взгляд, нет веских причин для их сохранения.

2 голосов
/ 17 октября 2010

Позволяет немного позже использовать общие функции (LINQ, коллекции).

1 голос
/ 17 октября 2010

Обычно я оставляю операторы использования до тех пор, пока я не «закончу» с написанием класса (я знаю, что класс не идеален в первый раз).

Затем в контекстном меню Visual Studio есть опции дляa) удалить неиспользуемые операторы Using и b) отсортировать операторы Using.Это относится к Visual Studio без надстроек.

1 голос
/ 17 октября 2010

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

От тебя полностью зависит, как ты хочешь увидеть свою базу кода?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...