Есть ли какой-нибудь способ избавиться от длинного списка использований в верхней части моих файлов .cs?

StackOverflow https://stackoverflow.com/questions/62219

Вопрос

По мере того как я получаю все больше и больше пространств имен в своем решении, список инструкций using в верхней части моих файлов становится все длиннее и длиннее.Это особенно актуально в моих модульных тестах, где для каждого компонента, который может быть вызван, мне нужно включить using для интерфейса, контейнера IoC и конкретного типа.

С более чем 17 строками использований в моих файлах интеграционных тестов это просто становится совершенно беспорядочным.Кто-нибудь знает, есть ли способ определить макрос для моей базы с помощью операторов?Есть какие-нибудь другие решения?

Это было полезно?

Решение

Некоторым людям нравится скрывать использование в #region.В противном случае, я думаю, вам не повезло.Если только вы не хотите использовать пространство имен для всех ваших ссылок.

Другие советы

Я знаю, что не должен говорить этого вслух, но, возможно, пересмотрите свой дизайн.

17 использований в 1 файле = много связей (на уровне пространства имен).

Сам терпеть не могу Resharper.Но я также терпеть не могу беспорядочное использование утверждений.Я использую Команды включения надстройка для VS, в которой есть удобная команда "Удалить и отсортировать" с помощью инструкций (среди прочих полезных функций).

Здесь возможны четыре проблемы;

Пространства имен в вашем коде слишком мелко разделяют ваши классы. если у вас есть, например;

using MyCompany.Drawing.Vector.Points;
using MyCompany.Drawing.Vector.Shapes;
using MyCompany.Drawing.Vector.Transformations;

подумайте о том, чтобы свести их к единому MyCompany.Drawing.Vector пространство имен.Вероятно, вы ничего не выигрываете, слишком много делясь.У Visual Studio Code Analysis / FxCop есть правило для этого, проверяющее количество классов в пространстве имен.Слишком мало, и это предупредит вас.

Вы помещаете слишком много тестов в один и тот же класс. Если вы ссылаетесь System.Data, System.Drawing, и System.IO в том же классе рассмотрите возможность написания большего количества атомарных тестов - некоторые из них обращаются к базам данных, некоторые рисуют изображения, а некоторые обращаются к файловой системе.Затем разделите каждый тип на три тестовых класса.

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

Многие из них являются избыточными. Все ли они используются, или они просто скопированы из других файлов?Щелкните правой кнопкой мыши на редакторе кода и выберите один из вариантов "Упорядочить использование", чтобы удалить неиспользуемые инструкции.

Кто-нибудь знает, есть ли способ определить макрос для моей базы, используя инструкции?

Вы имеете в виду, что пространства имен, которые вы часто используете, автоматически добавляются в каждый новый класс?Если да, то Resharper тоже может это сделать.Кроме того, у него есть функция, позволяющая помещать использование в регионе при очистке кода.Возможно, вам подойдет Resharper (вы не пожалеете об этом, как я могу сказать по собственному опыту).

VS2008 добавил контекстное меню "Упорядочить использование", в котором есть опции "Сортировать", "Удалять" и "Удалять и сортировать", которые будут делать то, что вы хотите для каждого файла.Надстройка Visual Studio Power Commands добавляет контекстное меню в обозревателе решений для проектов и решений, которое представляет собой команду "Удалить и отсортировать" для всех файлов в проекте и всех проектов в решении соответственно.

Если вы хотите изменить значение по умолчанию, используя инструкции, которые выполняются при создании нового файла, загляните в C:\Program Каталог Files\Microsoft Visual Studio 9.0\Common7\IDE\ItemTemplates\CSharp\Code\1033.Он содержит кучу zip-файлов, которые вы можете изменить, чтобы изменить шаблоны для файлов кода (очевидно, переместите структуру каталогов вверх, чтобы изменить другие языки или другие типы файлов).

Видишь здесь для получения дополнительной информации.

Это может помочь использовать сглаживание.Не уверен, что оно того стоит, но вместо:

using System.Web.UI;
using System.Web.Mail;
using System.Web.Security;
... Control ...
... MailMessage ...
... Roles ... 

вы можете использовать:

using W = System.Web;
... W.UI.Control ...
... W.Mail.MailMessage ...
... W.Security.Rolse ...

Resharper - надстройка для Visual Studio - имеет функцию, которая удаляет ненужные Using из файла, но я не знаю ничего, что делало бы именно то, что вы описываете.

В VS2008 вы можете щелкнуть правой кнопкой мыши по файлу CS и выбрать "Упорядочить использование".Он также удалит неиспользуемые файлы и отсортирует их для вас.В остальном, я бы просто использовал #region .Также, CTRL+M+O свернет все ваши функции regions и т.д. Во время разработки.Я часто использую этот ярлык!

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top