Когда я создаю новый файл класса на C #, обычная структура выглядит следующим образом:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace UnitTest
{
class Class1
{
}
}
StyleCop не любит использовать директивы за пределами пространства имен, поэтому в идеале я бы реорганизовал свой код как таковой:
namespace UnitTest
{
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
class Class1
{
}
}
С тех пор, как я был программистом на Java, меня учили, что лучше импортировать только необходимые ссылки, а не весь пакет, например:
import foo.bar.MyObject;
вместо
import foo.bar.*;
Я знаю, что это также можно сделать на C # с добавленной функцией, которая позволяет использовать псевдонимы для типов (иногда полезно при работе через собственный код):
using StringBuilder = System.Text.StringBuilder;
или при использовании псевдонимов:
using HANDLE = System.IntPtr;
using HDC = System.IntPtr;
Итак, мои вопросы относительно передовой практики и эффективности использования директив:
- Более эффективно продолжать использовать операторы внутри пространства имен или это чисто стилистическое предпочтение?
- Если более эффективно включать только необходимые элементы, а не все пространство имен?