2011-12-30 5 views
13

Если у меня есть частичные классы в C#, какими должны быть имена файлов?Соглашение об именах для имен файлов частичных классов?

Класс называется partial class Logic и будет существовать из двух или, возможно, трех отдельных файлов.

+6

http://stackoverflow.com/questions/1478610/naming-conventions-for-partial-class-files –

+0

Похоже, все это было зря:/Unity3D не может обрабатывать частичные классы. он думает, что это два отдельных класса. –

+0

Обратите внимание, что с Unity версии 4.1.5 частичные классы работают нормально. – yoyo

ответ

22

Для класса, называемого Logic, я бы, вероятно, пошел за Logic.something.cs (где «что-то» отличается для каждого файла). Это было бы в том же стиле, что и частичные классы, которые генерирует Visual Studio (например, файлы .designer.cs для форм)

+2

Действительно, это будет отличаться от _why_, это частичный класс, а «почему» - важная часть соглашений об именах. Классический пример с частичными классами состоит в том, что одна часть сгенерирована, а другая - вручную. Таким образом, 'Logic.generated.cs' и' Logic.cs' были бы достаточно интуитивными. – David

+0

Мне нравится эта идея, она делает ее легко узнаваемой от Дизайнера! – Jonathan

0

Я верю, что вы можете выбрать имя файлов так, как вы хотите, поскольку частичные классы помещены в одно и то же пространство имен!

0

Все, что вы хотите, но:

  • Не использовать разделяемые классы. Если ваш класс такой большой, лучше разбить его на отдельные классы.
  • Если вы настаиваете на частичных классов, разделить их логически, чтобы вы могли иметь Logic_Boolean.cs и т.д.
+0

В качестве комментария к вашему первому аргументу: я пока не так хорош с занятиями, поэтому, чтобы его организовать, я хотел бы разбить его на несколько файлов :) –

+0

@SimonVerbeke достаточно справедливо. Но что-то иметь в виду. – Ray

+0

Другая причина в том, что я работаю с Unity3D, и его скрипты требуют, чтобы любая логика, которую вы хотите выполнить, помещалась в некоторые предопределенные методы. Я хотел отделить их: «Update()» в одном файле, «OnGUI()» в другом, ... Это также небольшой проект с большим количеством кода, который больше никуда не возвращается. –

2

Я хотел бы использовать только Частичные классы, если я генерации кода (CodeSmith, MyGeneration, файлы шаблонов (TT)). Microsoft проделала большую работу с созданием прокси-серверов и наборов данных и т. Д. Так как код будет генерироваться снова в будущем, он позволит отделить логику, которую вы хотите включить, но не хотите перезаписывать.

Стандарт, основанный на Microsoft .NET стандартов Библиотека http://10rem.net/articles/net-naming-conventions-and-programming-standards---best-practices

Паскаль случае никаких подчеркиваний или ведущий "C" или "CLS".

Занятия могут начинаться с буквы «I», только если буква, следующая за I, не заглавная, иначе это выглядит как интерфейс.

Классы не должны иметь то же имя, что и пространство имен, в котором они находятся. Любые аббревиатуры трех или более букв должны быть паскальными, а не всеми шапками. Старайтесь избегать сокращений и старайтесь всегда использовать существительные. Почему: Это соглашение совместимо с .NET Framework и легко читается.

Примеры включают

  • Втулка
  • InstanceManager
  • XmlDocument
  • MainForm
  • DocumentForm
  • HeaderControl
  • CustomerListDataSet

Вот ссылка MS на именования http://msdn.microsoft.com/en-us/library/xzf533w0(v=vs.71).aspx

Смежные вопросы