.Net Полное имя для типа переменной - PullRequest
3 голосов
/ 17 августа 2010

Где я работаю, я часто вижу такой код:

public void Test(Models.User.UserInfo userInfo, Models.User.UserParameter param)
   { ... }

Лично я предпочитаю видеть что-то подобное:

public void Test(UserInfo userInfo, UserParameter param) { ... }

И иметь импорт наверху.

Что вы думаете об этом? Какие лучшие практики? Какие плюсы и минусы у обоих? Как я мог убедить своих товарищей по команде?

Я считаю второй вариант более понятным.

Ответы [ 3 ]

5 голосов
/ 17 августа 2010

Обязательно используйте директиву using, IMO.Обычно это просто код, который был автоматически сгенерирован Visual Studio.Я не видел, чтобы кто-то сознательно писал код, подобный этому, вручную.ИМО, стоит убедиться, что весь код, который люди будут читать , будет выглядеть так, как его написали люди - так что я бы добавил директиву using и сократил здесь имена.Это значительно облегчает чтение, особенно когда пространства имен длинные.

0 голосов
/ 17 августа 2010

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

Среди немногих обстоятельств, когда необходимо полное имя (точнее: оно не является полностью квалифицированным, вы не указываете версию или ключ), возникают конфликты имен (то есть: когда два пространства имен имеют одно и то же имя, я вижу, что это часто случается с классами Util, которые многие поставщики добавляют в свои библиотеки) (обратите внимание, что вы можете использовать псевдонимы классов, используя using). Или когда вам нужно квалифицировать имя как строку, но это другой вариант использования (то есть с отражением). Иногда при отладке полезно использовать FQN, поскольку отладчик не позволяет добавлять директиву using.

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

0 голосов
/ 17 августа 2010

Я склонен использовать полное имя, если тип используется только один или два раза в файле кода. Для всего остального я использую using

Но это также зависит от длины полного имени. Все дело в написании красивого, легко читаемого кода.

...