Ответ 1
Заглавие состоит из двух букв сокращений. UI, IP и т.д.
"Идентификатор" - это аббревиатура для идентификатора, поэтому он должен оставаться в паскале.
Я собираюсь объединить эти несогласованные соглашения об именах и эта проблема в последнее время немного сбила меня с ума.
В базе кода, с которой я работаю, нет соглашения относительно "ID" ; "ID" , "Id" и даже "iD" используются непоследовательно.
**** Вопрос **: В .NET, как вы, например, используете "ID" ? Например, nodeID, nodeId? FolderID или FolderId?
**** Редактировать **: Как насчет множественных случаев? тогда я должен делать "NodeID" или "NodeIds"?
Спасибо
Заглавие состоит из двух букв сокращений. UI, IP и т.д.
"Идентификатор" - это аббревиатура для идентификатора, поэтому он должен оставаться в паскале.
Принципы именования Microsoft предлагают использовать все заглавные буквы для 2-буквенных акронимов, сделанных в идентификаторы (IP, IO, UI и т.д.), поэтому Я склоняется к "ID" (хотя это не аббревиатура), потому что, когда я его читаю, я все равно говорю буквы отдельно.
Но, честно говоря, я не думаю, что Microsoft знает/знает, что делать с ID/Id:
ID
System.Runtime.InteropServices._Activator.GetIDsOfNames()
System._AppDomain.GetIDsOfNames()
System.Runtime.InteropServices._Attribute.GetIDsOfNames()
System.Type.GetTypeFromProgID()
System.Threading.Thread.ThreadID
System.Threading.Thread.GetDomainID()
System.Runtime.Serialization.ObjectHolder.ContainerID
System.Globalization.Calendar.ID
System.Globalization.CultureInfo.InvariantCultureID
System.Web.UI.Control.ClientID
System.Web.UI.Control.UniqueID
Id
System.AppDomain.GetCurrentThreadId()
System.AppDomain.GetIdForUnload()
System.AppDomain.IsDomainIdValid()
System.AppDomain.GetId()
System.Attribute.TypeId
System.TypeLoadException.ResourceId
System.Reflection.AssemblyAlgorithm.AssemblyAlgorithmAttribute.AlgorithmId
System.Runtime.Remoting.Lifetime.Lease.GetNextId()
System.Xml.Xpath.XPathNavigator.UniqueId
System.Data.OleDb.DBPropSet.PropertyId
Я думаю, почему они изобрели intellisense...
Что касается плюрализации: в моем случае s
всегда должен быть в нижнем регистре.
Microsoft обновила свои рекомендации, так как этот вопрос был задан.
В статье MSDN Соглашения о капитализации (.NET Framework 4.5) есть раздел с именем Заглавные буквы и общие термины. В таблице в этом разделе приводятся следующие руководящие принципы капитализации для аббревиатуры "идентификатор" при идентификации идентификаторов:
System.Attribute.TypeId
)var id = 42;
)Последнее руководство - "Id", более подробно об этом и других (например, "Хорошо" ), см. мой пост по самой последней Руководство по разработке рамок (2-е издание)
Я всегда использую идентификатор, когда он является аббревиатурой для идентификатора и т.д. Он просто выглядит неправильно и заставляет меня думать о Freud, в противном случае - что определенно не очень хорошо.
Если вы хотите проверить словарь, вы обнаружите, что идентификатор не рассматривается как аббревиатура. Фактически, форма указана как ID или I.D. там. Вероятно, это связано с выражением типа "Идентификационная документация" или "Идентификационные данные" и первоначально не принималось за короткую форму "Идентификатор". Таким образом, идентификатор формы не только рекомендуется, но и напрямую поддерживается в словаре.
Я думаю, что причина, по которой некоторые люди используют "ID" вместо "Id", состоит в том, что это подмножество "GUID", "UUID" или "UID", которые обычно заглавные.
Я согласен, что это должен быть "Id", но я думаю, что это сильно зависит от контекста, потому что в некоторых средах может быть более целесообразным использовать "ID" .
Итак, для меня "ID" является техническим термином и подмножеством вышеуказанного или используется для обозначения одного из этих технических терминов, тогда как "Id" является сокращением любого идентификатора и в нетехническом контексте, когда вы нужно, чтобы человек читал его, как в ваших общедоступных API-интерфейсах или UML, вы должны (по-моему) использовать "Id".