Я пытаюсь придерживаться общих соглашений об именах, таких как описанные в Рекомендации по разработке для создания библиотек классов. Я помещаю каждый тип в свой собственный исходный файл (и частичные классы будут разделены на несколько файлов, как описано в вопросе Соглашения об именах для файлов Partial Class), используя имя введите имя файла.
Примеры:
namespace Demo.Bla // project
{
enum FlowDirection { } // in file FlowDirection.cs
class LayoutManager { } // in file LayoutManager.cs
}
namespace Demo.Bla.LayoutControllers // folder LayoutControllers in project
{
class StackPanelLayoutController { } // in file LayoutControllers/StackPanelLayoutController
}
Но я не уверен, что придумал умный способ именования исходных файлов, содержащих общие классы. Скажем, что у меня есть следующие классы, например:
namespace Demo.Bla.Collections // folder Collections
{
class Map<T> { } // in file Map.cs (obviously)
class Bag { } // in file Bag.cs (obviously)
class Bag<T> : Bag { } // also in file Bag.cs ???
}
Должен ли я помещать код как не общих, так и общих Bag
классов в один и тот же файл Bag.cs
? Каковы ваши привычки?