Вопрос о стиле кодирования Microsoft - PullRequest
1 голос
/ 24 июня 2009

Я должен был найти способ спросить это, что не было субъективным, так что это специально для стиля кодирования Microsoft. В исходном коде ASP.NET MVC файлы кода выглядят так:

// Copyright info

namespace System.Web.Mvc {
    using System;

    // blah blah
    // ...
}

Обратите внимание, что 'using System' хорошо сочетается с пространством имен. Если бы я должен был применить этот стиль к коду моей компании, должен ли я размещать операторы использования для пространств имен моей компании прямо ниже (чтобы он выстраивался в линию)? Когда я помещаю объявления 'using' вверху, я обычно сначала начинаю с пространств имен .NET, поэтому я не уверен. Например, я должен сделать это:

namespace MyCompany.MyProduct.Something {
    using System;
    using MyCompany.MyProduct.SomethingElse;
}

или это:

namespace MyCompany.MyProduct.Something {
    using MyCompany.MyProduct.SomethingElse;
    using System; 
}

Я склоняюсь к последнему.

Ответы [ 4 ]

7 голосов
/ 24 июня 2009

Единого стиля Microsoft не существует, хотя предпринимались попытки консолидировать их стандартизацию.

Как говорится, StyleCop заставляет все пространства имен системы быть перечисленными первыми ...

1 голос
/ 24 июня 2009

Microsoft StyleCop диктует сначала использование System. *, Затем ваше пространство имен пользовательской библиотеки (т. Е. Первый вариант).

0 голосов
/ 24 июня 2009

Соглашение, которому я следую, таково:

  • Пространства имен системы
  • имен Microsoft
  • Любые внешние / сторонние пространства имен
  • Внутренние имена компании - общие / основные
  • Внутренние пространства имен компании - локальные / проект

Начиная с более широкой области видимости и заканчивая более узкой областью действия ...

0 голосов
/ 24 июня 2009

У вас здесь две вещи.

  1. Выравнивание - Они ничего не выстраивают. Они используют 4 пробела (по умолчанию)
  2. Порядок использования операторов - Обычно сначала вы найдете системные пространства имен. Под этим вы найдете иерархию уровней:

    using System;  
    using System.Collections;  
    using System.Collections.Specialized;
    
...