Соглашение о единстве на самом деле довольно просто: все с паскалем, типы (классы, структуры, перечисления), а методы начинаются с полей верхнего регистра, полей и свойств с помощью строчной буквы. Значения Enum в верхнем регистре, константы в нижнем регистре (обычно). So ClassName
, MethodName
, myField
, myProperty { get; set; }
, MyEnum.CaseA
... все.
Что касается вашего примера, то Transform
является классом, тогда как transform
является аксессуаром к экземпляру Transform
в этом конкретном GameObject/Component. Кроме того, Transform
не имеет Position
, имеет position
(всегда в нижнем чемодане).
Это более или менее на основе конвенций и стандартной библиотеки .NET C# 's (MS имеет verypreciseguidelines об этом), за исключением стандартных .NET использует UpperCase для общественных/защищенных методов и свойств, а также строчных для частного (опять же, обычно, то, что является частным, больше остается на вкус кодера, я думаю).
В качестве побочного примечания, с любой кодовой базой, на любом языке, лучший способ ВСЕГДА следовать существующему соглашению. Каждый опытный программист скажет вам об этом. Я понимаю об OCD, поверьте, но в этом случае я предлагаю вам отпустить его. Существует очень мало объективных аргументов в пользу того, почему соглашение было бы лучше другого (по определению условное условно), и даже если бы было, самое худшее, что вы можете сделать, это смешивать несколько условностей, потому что тогда у вас есть соглашение 0 вообще и никогда не знаю, чего ожидать.
По крайней мере, C# пытается стандартизировать; Я работал над несколькими кодовыми базами на C++, и я не вижу общего знаменателя: UpperCaseClassNames
, lowerCaseClassNames
, underscore_separated
, tClassName
, ENUMS_IN_UPPER
, или нет ... это редко согласуется, поэтому чем меньше вы смешиваете, тем лучше.
Я просто думаю, что это немного вводит в заблуждение, когда панель Inspector отображает ее иначе, чем она должна быть вызвана в коде. – Ledii
Панель инспектора просто пытается сделать имена класса/собственности более читабельными для человека. Я не понимаю, как это может вызвать проблемы. Соглашения об именах, используемые Unity (и/или C#), довольно стандартны и достаточно интуитивны, насколько я могу судить ... Я думаю, вы привыкнете к ним довольно быстро, если попытаетесь их понять. – jahroy
А, вот что вы имели в виду под «позицией» ... да, инспектор вставляет пробелы между словами (== заглавные буквы); он также удаляет любые ведущие m_, подобные вещи. Этот процесс называется «nicifying»: http://docs.unity3d.com/ScriptReference/ObjectNames.NicifyVariableName.html Инспектор предназначен для всех, не только для программистов; Верблюжьей корпус исторически просто взломал, потому что компиляторы не любят пространства ... но люди делают! Пространства всегда более читабельны, чем верблюжий случай и подчеркивания. – benblo