Tag: 命名约定

控件的命名约定

在默认情况下使用VS时,编辑器会生成以下内容: 现在生成的ID是Button1即首字母大写。 我的问题是命名控件的最佳方法是什么? 提交按钮 btnSubmit按钮 或者是其他东西? 哪种命名惯例被认为是好的?

您在C#中使用了哪些命名约定?

作为一名初学程序员,我正在努力为自己制定一个标准的命名约定。 我意识到这是个人偏好,但我试图从你们中的一些人(很多人)中得到一些比我更聪明的想法。 我不是在谈论骆驼符号,而是如何命名你的变量等等。恕我直言,var_Quantity比Q或varQ更具描述性。 但是,如何防止变量变得太长。 我试图通过命名我的控件来更具描述性,但我最终得到了一些类似于“rtxtboxAddrLine1”的RadTextBox,其中包含地址行1.对我而言,这是无法管理的,尽管它很清楚该控件是什么。 我只是好奇你是否有一些你遵循的指南,或者我是否离开了自己的设备?

ReSharper C#为私有方法和属性命名样式

我喜欢将私有方法,属性和事件的第一个字母小写,公共方法,属性和事件的第一个字母大写。 但是,在ReSharper 7.1中,C#命名样式下只有一个选项适用于所有方法,属性和事件。 告诉ReSharper仅使用不同的私有约定的最佳方法是什么?

当基本单词以I开头时,如何命名界面?

我想为“Items”创建一个界面。 Typicaly我会通过在基本单词中添加“I”前缀来命名接口。 但在这种情况下,我的基本单词已经以I开头。这里有几个想法 IItem :两个我 Iitem :改变这种情况 ItemInterface :跳过I前缀并写出Interface 什么看起来最好? 有没有其他人遇到这个问题。 如果是这样你做了什么?

entity framework(Database-First)与同一个表命名约定控件的多个关系

我们假设我们遇到这种情况: 数据库中的表: Country (id, country_name), Person (id, login), CountryManager (id_country, id_person), CountryStakeholder (id_country, id_person) 如果我们必须使用Entity Framework Database-First从数据库创建模型,在VS中我们有一个这样的类: class Country { int id; string country_name; virtual ICollection Person1; // Navigation Properties virtual ICollection Person2; // ———||———- } 我已经简化了很多代码,但希望你明白了。 似乎当Entity Framework处理外键时,它会创建通用导航属性。 是否有可能控制按名称创建导航属性的方式? 不幸的是,Person1,Person2并不是非常具有解释性。

Func 方法参数的首选命名约定是什么?

我承认这个问题是主观的,但我对社区的看法很感兴趣。 我有一个缓存类,它接受类型为Func的缓存加载器函数,它用于从数据库中检索值并将其存储在缓存中。 public static class Cache { public TResult Get(string cacheKey, Func cacheLoader) { // Implementation } } 我的问题是: 我应该如何命名函数参数? 我应该将它命名为对象,例如cacheLoader吗? 我应该将其命名为方法,例如loadResult ? 我应该将它明确地称为函数,例如cacheLoadFunction吗? (我不喜欢这个。) 我对我应该命名这个特定的函数参数不感兴趣,并且对如何命名函数参数更感兴趣。 什么说你,Stack Overflow社区?

C#项目文件夹命名约定

我有一个名为Data的项目,它是一个数据层。 在此项目中,所有文件都位于顶部文件夹中。 我有枚举,POCO,存储库,部分类等。 如果我想将这些文件移动到子文件夹中,每个文件夹的优先文件夹名称是什么? 有没有约定? “存储库”文件夹非常明显,但我应该在哪里保留POCO和枚举? 谢谢

在将C#对象序列化为JSON时,如何处理不同的命名约定?

我正在使用ASP.Net将C#中设计的类序列化为JSON。 我的Javascript应用程序然后使用AJAX请求这些对象。 我现在在几个项目上完成了这个,但是我遇到了C#标准命名约定为公共成员使用PascalCase的问题,而在Javascript中它们通常是camelCase。 当我有一些使用camelCase的Javascript-only类和一些使用PascalCase的混合使用类时,这尤其成为一个问题,因为我最初在C#中设计它们。 其他人如何处理这类问题? 你只挑选一个或另一个? 如果是这样,哪一个被更广泛地选择? 或者是否有一种聪明的方法来使用JSON序列化程序在两种命名约定之间切换?

ReSharper在成员“EntityID”中抱怨大写“ID”

我在一个类中有一个属性“EntityID”。 Resharper(5.1)说 名称“EntityID”与规则“方法,属性和事件”不匹配。 建议的名称是’EntityId’。 但恕我直言,根据类库开发人员设计指南中的命名惯例。 ‘EntityID’应该非常好: 不要使用计算领域通常不接受的首字母缩略词。 在适当的地方,使用众所周知的首字母缩略词来替换冗长的短语名称。 例如,使用UI作为用户界面,使用OLAP进行在线分析处理。 使用首字母缩略词时,请使用Pascal case或camel case作为长度超过两个字符的首字母缩略词。 例如,使用HtmlButton或htmlButton。 但是,您应该将仅包含两个字符的首字母缩写词大写,例如System.IO而不是System.Io。 不要在标识符或参数名称中使用缩写。 如果必须使用缩写,请将camel case用于包含两个以上字符的缩写,即使这与单词的标准缩写相矛盾 *更新:*指南的最新版本还说: 除了驼峰标识符的第一个单词外,请将两个字符缩写词的两个字符大写。 名为DBRate的属性是用作Pascal标识符的第一个单词的简短首字母缩写词(DB)的示例。 名为ioChannel的参数是用作驼峰标识符的第一个单词的简短首字母缩写词(IO)的示例。 我是否正确理解指南? 如果是这样,我怎么能让ReSharper接受“EntityID”(众所周知的两个字母的缩写),但拒绝“HTMLReader”(它应该是HtmlReader)。

Lambda变量名称 – 短名称,还是不短名称?

通常,当我使用lambdas时,我只使用“a,b,c,d ……”作为变量名称,因为类型很容易推断,我发现短名称更容易阅读。 这是一个例子: var someEnumerable = GetSomeEnumerable(); var somethingElseList = someEnumerable.Select(a => a.SomeProperty) .OrderBy(a => a.SomePropertyField); var someDictionary = somethingElseList.ToDictionary(a => new SomeClass(a.Prop1), a => a); 有人质疑这个命名,并且更愿意看到长输出的名称,如下所示: var someEnumerable = GetSomeEnumerable(); var somethingElseList = someEnumerable.Select(importantObj => importantObj.SomeProperty) .OrderBy(objsInfo => objsInfo.SomePropertyField); var someDictionary = somethingElseList.ToDictionary(theInfoId => new SomeClass(theInfoId.Prop1), theInfoId2 => theInfoId2); 由于范围很窄(在parens之间),除非你变得愚蠢并将它们嵌套,否则我会发现阅读短名称更容易。 我没有被上面使用的愚蠢的命名示例所吸引,对Lambda变量名称的一般共识是什么? 要简短的名字,还是不要简短的名字?