В проектах C # мы часто группируем небольшие и тесно связанные классы в один и тот же .cs
файл. Эта практика уменьшает трения при работе с множеством файлов, содержащих практически полный код. Тем не менее, существует ли устоявшаяся практика именовать файл , содержащий несколько классов?
20
Ответы:
Мой совет: избегайте файлов, содержащих несколько классов и имен файлов == классы, даже если вы имеете в виду, что файлов слишком много. Попробуйте организовать их в папках. В особых случаях у вас могут быть вложенные классы. В этом случае имеет смысл разделить основной класс и вложенный класс на разные файлы, имеющие один частичный класс. В этом случае я использую следующее соглашение об именах.
Возможно, вы также можете использовать составные имена файлов в вашем случае.
источник
Старайтесь избегать наличия в файле более одного класса, но не более одного открытого класса. При именовании файлов классов несколькими классами выберите описательное имя файла.
Refrences:
источник
Учтите, что, задавая вопрос о том, как называть такие файлы, вы уже определили запах кода, который является проблематичным для вас, и эта проблема не исчезнет легко.
Независимо от рассуждений, вы обнаружите, что трудно выбрать разумные имена, когда у вас есть более одного класса в файле, потому что даже если файлы связаны каким-либо образом, всегда будет соблазн добавить что-то, что не совсем соответствует имени группы, которое вы назначаете набору классов.
Короткий ответ, следовательно, заключается в том, что не существует признанного или установленного стандарта для именования таких файлов. Моим предложением было бы сесть с вашей командой и посмотреть на организацию вашего кода, и приложить немного усилий по рефакторингу, чтобы немного привести в порядок вещи.
Тем не менее, чтобы было легче начать, я бы спросил, являются ли дополнительные классы вложенными или независимыми. Если они независимы, то эти классы легче разделить на свои собственные файлы, где каждый файл назван для отдельного класса. В случае вложенности могут потребоваться дальнейшие решения о том, как такие классы должны быть организованы, однако вложенные классы могут не нуждаться в немедленном удалении, и поэтому файлы будут названы для самого внешнего класса. Что касается вложения, существует множество аргументов против и несколько разумных аргументов для вложения при некоторых обстоятельствах, и я бы посоветовал спросить, может ли разумное пространство имен и создание более организованной структуры исходного кода быть лучшим способом решения проблема.
Реально, однако, вы обнаружите, что к концу жизненного цикла вашего проекта вы захотите, чтобы все ваши файлы содержали только один класс и красивую структуру каталогов / пространств имен.
Ура,
источник
Раньше я был за то, что у меня было несколько классов в одном файле, но с тех пор, как я начал работать программистом (а не сам по себе), я обнаружил, что это может быть кошмаром обслуживания со многими классами в одном файле. Хотя, по общему признанию, Visual Studio может сильно помочь с использованием F12 (см. Определение).
Я начал использовать соглашение об именах следующим образом: namespace.classname.cs Таким образом, я точно знаю, что находится в каждом файле, и это также обеспечивает некоторый общий контекст файла. Если класс будет находиться в пространстве имен по умолчанию, тогда я просто использую classname.cs (аналогично Java).
источник