.net命名规范
net命名规范的不同

net命名规范的不同在你的代码中使用注释语句和下边就要讲的统一命名法则是一个很好的习惯,它们会使你的代码更加通用。
我(作者)已经在微软工作了近五年的时间了。
我不知道你是否跟我一样,在集成和除BUG时遇到很多问题----因为开发者没有遵守统一的命名法则和写注释语句。
在以前版本的Visual Studio中,微软曾建议使用匈牙利命名法来写代码,并鼓励开发这位写出统一格式的代码而使用相同的法则。
例如:变量命名CStringSzStringcharCmyCharchar*PmyCharLongLMyVariableLPCSTRLpStrIntNMyNumber在最近发布的.net和它的编程语言中,微软更换了他的这一法则。
如果你用过Delphi编程,你会看到新的法则与Delphi(Pascal)有些相似。
为避免代码冲突(这样做也会让你的代码更为通用),就要使用命名法则,这是一个很好的编程习惯。
好啦,这里介绍一些常用的法则。
◆命名变量、方法、以及属性变量、方法和属性的名称的第一个字母应该大写,并且名称应该能表达出它们的用途(或者说是意义)。
变量.NET 命名匈牙利命名描述CstringEmployeeNameszNameName of an employee.IntAttendanceCounternCounterA counter of type long.LongNumberOfByteslBytesA long type variable stores bytes.有时我们习惯于在定义中使用下划线"_",例如:Add_Data(int a, int b). 按照新的命名法则,这不是一个好的编程习惯,虽然它并没有错。
你应该将定义Add_Data 改为AddData。
这不是微软的标准,你也不是必须按照这些法则。
但是,在一些地方你会明白下边这些法则的合理性。
就我个人而言,我更喜欢匈牙利命名法。
理解.net命名规则和命名习惯

理解.net命名规则和命名习惯 下面小编给大家分享的是理解命名规则和命名习惯,在这里详细的介绍了理解命名规则和命名习惯,希望对大家有所帮助. 想用.NET进行网站建设或程序开发,没有好命名规则和命名习惯,是不行的。
下面我们就了解一下的命名规范! 命名规则就是给变量取名的一种规则,一般来说,命名规则就是为了让开发人员给变量或者命名空间取个好名,不仅要好记,还要说明一些特性。
在C#里面,有常用的一些命名的习惯如下。
qPascal大小写形式:所有单词的第一个字母大写,其他字母小写。
qCamel大小写形式:除了第一个单词,所有单词的第一个字母大写,其他字母小写。
当然,在其他编程中,不同的开发人员可能遇到了一些不一样的命名规则和命名习惯,但是在C#中,推荐使用常用的一些命名习惯,这样能保证代码的优雅性和可读性。
同时,也应该避免使用相同名称的命名空间或与系统命名相同的变量,如以下代码所示: string int;//系统会提示出错 运行上述代码时系统会提示错误,因为字符串“int”是一个关键字,当使用关键字做变量名时,编译器会混淆该变量是变量还是关键字,所以系统会提示错误。
所以,在变量声明时应该避免变量名称与关键字重名,如果变量名称与关键字重名,编译器就会报错,C#中常用的关键字如表2-2所示: 表2-2 不应使用的关键字名称 AddHandlerAddressOfAliasAndAnsiAs AssemblyAutoBitAndBitNotBitOrBitXor BooleanByRefByteByValCallCase CatchCBoolCByteCCharCDateCDec CDblCharCIntClassCLngCObj ConstCShortCSngCStrCTypeDate DecimalDeclareDefaultDelegateDimDo DoubleEachElseElseIfEndEnum EraseErrorEventExitExternalSourceFalse 。
.net core mysql 命名规则

.net core mysql 命名规则.NET Core MySQL 是一种常用的数据库管理系统,它可以通过.NET Core 框架快速构建跨平台应用,并对数据进行良好的管理和操作。
比如,用户注册、登录、数据检索等功能都需要涉及到数据库。
因此,在开发应用时,必须遵循一定的命名规则,以确保数据表的合理性和一致性,同时也方便开发者理解和维护代码,提高代码的可读性和可维护性。
一、表命名规则首先,表名必须能够清晰地描述其所保存的数据类型。
为了方便与其他数据表进行区分,建议采用以下命名规则:1.表名统一使用小写字母,单词间使用下划线分隔,例如:user_info。
3.不要使用 MySQL 中的保留字即数据类型作为表名。
二、列命名规则其次,列名应该清晰地描述该列所保存的数据。
此外,不同的列应该采用不同的命名规则,以规避混淆。
2.注意列名不应该过长,通常不超过30个字符。
3.列名应该是名词,而非动词。
例如,避免使用 is_valid,可以使用 valid。
4.尽量避免使用数字,例如将列名设置成 birthday 和 birthday_date,而不是birthday1和birthday2。
例如,user_id,user_name,user_age,user_gender等都是良好的列命名规则。
三、主键命名规则主键是一种特殊的列,通常用于唯一标识数据表中的每个记录。
因此,主键的命名规则非常重要,以确保主键的唯一性和易于区分。
1.主键建议采用表名+id的命名方式,例如:user_id,order_id等。
3.如果主键是自动生成的,可以使用一个统一的命名规则,例如:id。
四、外键命名规则外键是与其他表内具有关联的字段,用于提供跨表查询的功能。
因此,外键的命名规则应该与主键相对应,既不混淆,又不重复。
3.外键列的值应该与其关联表的主键列的值相同,确保外键关系的可靠性。
五、其它命名规则除了数据表、列、主键和外键的命名规则之外,还有一些其它的规则需要遵循,如下:1.命名需避免使用特殊字符,例如:$, %, ^, @等。
.Net项目命名规范

.Net项⽬命名规范⽬录dotShare系统改造项⽬的建设过程中,将涉及到Visual 、Web站点,业务对象及数据库,同时项⽬⼈员包括设计⼈员、开发⼈员和测试⼈员等较多。
为了保持应⽤程序、组件、⽂件的⼀致性,便于阅读和管理代码和结构,提⾼开发效率和产品的标准化,特制订⼀套开发规范和标准(包括命名规范和编码规范)。
好的编码约定可使源代码严谨、可读性强且语意清楚,做到与其它语⾔约定相⼀致,并且提⾼直观性。
希望设计/开发⼈员严格遵守此套开发规范和标准,并落实到⾃⼰的设计与代码程序中。
命名规范将包括:编程命名规范,业务对象命名规范,数据库命名规范,Web站点结构命名规范等。
编码规范将包括:C#编码规范,第三⽅模块使⽤规范等本命名规范主要针对使⽤Visual (语⾔及C#语⾔)规范,即编程命名规范部分。
请注意:在本项⽬过程中,C#将作为⾸选语⾔,如⾮特别必要,不要选⽤。
变量命名的总原则是⼀个通⽤性的原则,本规范后续章节中的命名规则都应当符合这些总原则。
·变量名称应当准确完整地描述了变量的含义·名称应当反映了业务上的问题⽽不是技术上或编程上的解决⽅法·名称的长度应当⾜够长·名称的最后⼀部分应当有限定符·应当⽤Count, Index或Nbr代替Num, No.·循环计数变量的的名称应当有含义(如果循环语句的长度超过了两⾏或者存在着嵌套循环,尽量避免使⽤I,j,k之类的变量,应该使⽤有意义的变量)·临时变量的命名应当有意义·所有布尔型变量的命名能够直接从名称上看出为真的条件·枚举类型的变量名称应当包含了基础类型,能够⽅便的分辨变量的类型。
例如:⽤Color变量表⽰ ColorRed, ColorGreen枚据类型的值。
·命名的常量应当代表了抽象的实体⽽⾮他们所代表的值·从变量命名中应当可以看出变量的作⽤域是局部变量,模块变量或者全局变量·变量的名称中不同的单词⾸字母要⼤写,以⽅便阅读·如果不是绝对必须,尽量避免使⽤短的名称·如果变量中单词的缩写只能缩短⼀两个字符则使⽤单词的完全拼写·所有单词的缩写规则应当⼀致·名称具有误导性·两个不同的命名具有相似的含义·不同的命名拼写很相似,仅差⼀两个字符·在变量名称中不应当使⽤数字·完全和变量含义不相关的命名使⽤下⾯的三种⼤写标识符约定。
简述.net命名规则和命名习惯

简述.net命名规则和命名习惯下面小编给大家分享的是简述命名规则和命名习惯,在这里详细的介绍简述命名规则和命名习惯,希望对大家有所帮助. 命名规则就是给变量取名的一种规则,一般来说,命名规则就是为了让开发人员给变量或者命名空间取个好名,不仅要好记,还要说明一些特性。
在C#里面,有常用的一些命名的习惯如下。
qPascal大小写形式:所有单词的第一个字母大写,其他字母小写。
qCamel大小写形式:除了第一个单词,所有单词的第一个字母大写,其他字母小写。
当然,在其他编程中,不同的开发人员可能遇到了一些不一样的命名规则和命名习惯,但是在C#中,推荐使用常用的一些命名习惯,这样能保证代码的优雅性和可读性。
同时,也应该避免使用相同名称的命名空间或与系统命名相同的变量,如以下代码所示: string int;//系统会提示出错 运行上述代码时系统会提示错误,因为字符串“int”是一个关键字,当使用关键字做变量名时,编译器会混淆该变量是变量还是关键字,所以系统会提示错误。
所以,在变量声明时应该避免变量名称与关键字重名,如果变量名称与关键字重名,编译器就会报错,C#中常用的关键字如表2-2所示: 表2-2 不应使用的关键字名称 AddHandlerAddressOfAliasAndAnsiAs AssemblyAutoBitAndBitNotBitOrBitXor BooleanByRefByteByValCallCase CatchCBoolCByteCCharCDateCDec CDblCharCIntClassCLngCObj ConstCShortCSngCStrCTypeDate DecimalDeclareDefaultDelegateDimDo DoubleEachElseElseIfEndEnum EraseErrorEventExitExternalSourceFalse FinallyForFriendFunctionGetGetType GotoHandlesIfImplementsImportsIn InheritsIntegerInterfaceIsLetLib LikeLongLoopMeModModule 。
NET开发规约

.NET开发规约.NET命名规范之大小写约定标识符的大小写规则◆PascalCasing:如HtmlTag IOStream◆camelCasing:如htmlTag ioStream◆要把PascalCasing用于由多个单词构成的名字空间、类型、以及成员的名字;◆要把camelCasing用于参数的名字。
.NET命名规范之通用命名约定单词的选择对框架中标识符的名字来说,很重要的一点是一目了然。
名字的意思清楚比长度短更重要。
名字应该与场景、系统的逻辑组成或物理组成以及为人熟知的概念相对应,而不应该与技术或框架相对应。
◆要为标识符选择易于阅读的名字;◆要更看重可读性,而不是更看重简短性;◆不要使用下划线、连字符以及其他任何既非字母也非数字的字符;◆不要使用匈牙利命名法;◆避免使用与广泛使用的编程语言的关键字有冲突的标识符。
◆使用单词缩写和首字母缩写词一般来说,不要在标识符中使用单词缩写或首字母缩写:宁可名字长一点,也不要别人看不懂。
尤其不要使用未被广泛接受的单词缩写和首字母缩写词。
◆不要使用缩写词或缩略词作为标识符名字的一部分◆用GetWindow 不用GetWin◆不要使用未被广泛接受的首字母缩写词何谓广泛接受:用搜索引擎在网上搜索该首字母缩写词,如果返回的前几个结果与期望相符,那么该首字母缩写词才有资格被称为众所周知。
◆避免使用语言特有的名字◆要给类型名使用语义上有意义的名字,而不要使用特有的关键字◆GetLength比GetInt要好◆要使用CLR的通用类型名,而不要使用语言特有的别名◆要使用常见的名字,比如value或item,而不要重复类型的名字为已有API的新版本命名当用新类型和新成员接替或取代已有的类型或成员时,如何选择名字:◆使用与旧API相似的名字◆要优先使用后缀而不是前缀来表示已有API的新版本这样有助于在浏览文档或使用Intellisense时发现新版本:按字母排序◆可以考虑使用全新但有意义的标识符◆要使用数字后缀来表示已有API的新版本◆有些名字(或工业标准)不宜添加后缀或改名◆不要在标识符中使用“Ex”“New”等类似的后缀来区分相同API的不同版本◆要在引入64位整数(long)而非32位整数进行操作的新版本API时使用“64”后缀,反之亦然。
VS.NET命名规范和编码规则

DOT NET 程序开发命名规范Digicentury LLC一致的命名规范是受管理类库的可预测性和可发现性中最关键的元素之一。
对这些命名规范的正确理解和广泛使用可以消除许多常见问题。
本文定义了我公司所有程序员在开发.NET程序时所应遵笔循的命名规则。
修订记录目录1 总则 (6)1.1 目的 (6)1.2 要求 (6)1.3 意见和建议 (6)2 术语 (6)2.1 Pascal case (6)2.2 Camel case (6)2.3 Upper case (6)3 大小写敏感 (7)3.1 不要创建两个名字相同只有大小写区分的命名空间。
(7)3.2 不要在同一个方法中使用多个只有大小写不同的参数。
(7)3.3 不要在同一个名称空间中创建多个只能通过大小写区分的类型。
(7)3.4 不要在同一个类型中创建多个只能通过大小写来区分的特性。
(7)3.5 不要在同一个类型中创建多个只能通过大小写来区分的方法。
(7)4 缩写 (8)4.1 标识符名称(方法名,特性名等)中不要使用缩写。
(8)4.2 不要使用不被计算机界广泛接受的首字母缩写。
但最好使用一些众所周知的首字母缩写来替代冗长的名称。
(8)4.3 对于超过两个字母长度的首字母缩写要使用Pascal case或camel case。
而对于只包括两个字母的首字母缩写,要将这些首字母全部大写。
(8)4.4 在标识符和参数名中不使用缩写。
如果一定要使用缩写,对于包括两个以上字符的缩写,应该使用camel case。
(8)5 控件命名 (8)5.1 在WEB FORM中,常用控件名称使用通用前缀。
具体见下表。
(8)5.2 在WIN FORM中,常用控件名称使用通用前缀。
具体见下表。
(9)6 字的选择 (9)6.1 避免使用容易与.NET Framework命名重复的类名。
(9)6.2 避免使用与下列关键字重复的标识符。
(9)7 名称空间命名规则 (10)7.1 通常为命名空间命名时最常见的方法是把公司名放在最前面,然后是技术名,也可以加上特征和设计。
NET程序编码规范

NET程序编码规范(C#)一、命名规范以下编码规范适用于C#开发。
以下命名规则如不特别说明一律采用Pascal命名方法,即首字母及每个单词首字大写。
Class(类),接口命名✧名字应该能够标识事物的特性。
✧名字尽量不使用缩写,除非它是众所周知的。
✧名字可以有两个或三个单词组成,但通常不应多于三个。
✧例如IsSuperUser,包含ID的,ID全部大写,如CustomerID。
✧使用名词或名词短语命名类。
✧少用缩写。
例如:class MyButton{}class Dog{}✧接口名称加前缀例如:Interface IAnimal{}函数方法、委托、事件及属性命名✧函数方法以动词或动词短语命名。
无需区分函数和子程序,无返回值则为void。
✧类内部私有函数函数名第一个字母不需要大写。
如:private void clearText()✧方法中如果是获取数据,则采用Get前缀,更新数据采用Update前缀。
例如:public string GetConnection() //定义方法protected string UpdatePrivilege()private void clearText()✧普通的委托类型以描述动作的名词命名,以体现委托类型实例的功能:用于事件处理的委派类型,必须以EventHandler结尾,如:public delegate void InvateEventHandler(string InvitedName);事件是特殊的属性,只能在事件处理上下文中使用。
命名的原则一般是动词或动词的分词,通过时态表明事件发生的时间,可以加上后缀Event:例如:public event InvateEventHandler InvateEvent属性命名采用描述性名词或名词短语,属性必须对应于相关的私有字段例如://定义属性private string name;public string Name{get { return name; }set { name = value;}}常量、变量命名变量命名延用匈牙利命名规则。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
.NET代码规范
第一章主体命名规范
一、外挂服务命名规范
1) 服务项目命名
所有服务项目名使用ESrv(注意大小写)开头,第五位字母开始自订义,但是第五位字母必须大写。
比如ESrvDemo1,其中Demo1为自定义名称。
二、类成员访问权限规范
所有类成员要严格的按照成员的使用性质,设置它们的访问修饰符,修饰符的意义如下:
声明的可访问性
意义
public
访问不受限制。
protected
访问仅限于包含类或从包含类派生的类型。
internal
访问仅限于当前程序集。
protected internal
访问仅限于从包含类派生的当前程序集或类型。
private
访问仅限于包含类型。
第二章代码书写规范
一、代码注释规范
1) .cs文件的注释
所有.cs文件开头都要加上注释,写明文件创建时间、作者、用途概述等
格式如下:
//********************************************************
//新增日期: 2004.7.19
//作者: XXX
//內容说明:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
//********************************************************
2) 函数过程注释
所有的函数体开头都要加上注释,所以注释使用.NET注释规范,如下格式:
/// <summary>
/// 构造函数
/// </summary>
/// <param name="is_xxx1">示例参数1</param>
/// <param name="is_xxx2">示例参数2</param>
public UpgradeThread(string is_xxx1, string is_xxx2)
{
//…
}3) 常量变量注释
所有的常量变量,无论是全局还是局部使用的,凡是对代码整体起到关键性做用的都需要加上注释。
如下示例:
/// <summary>
/// 当前线程指向的备份文件本地保存路径
/// </summary>
public string StorePath = "";
4) 代码修改注释
当开发者维护以前的程序代码时,需要在修改处的开始及结尾,加上自己的注释信息,格式如下:
//BEGIN 2004-7-19 Jayson修正了XXX问题
略…
//END 2004-7-19 Jayson
二、代码排版规范
1) 语句结构
为保证语句结构的清晰和程序的可读性,在编写软件程序时应注意以下几个方面的问题
l 在一行内只写一条语句,并采用空格、空行和移行保证清楚的视觉效果。
l 每一个嵌套的函数块,使用一个TAB缩进,大括号必须放在条件语句的下一行,单独成一行,便于匹对。
如,有一段程序如下:
for(int i=0; i<10; i++){Console.WriteLine(“xxxxx”)}
应该写为:
for(int i=0; i<10; i++)
{
Console.WriteLine(“xxxxx”)
}
2) 代码书写格式规范
l 文件之中不得存在无规则的空行,比如说连续十个空行。
一般来讲函数与函数之间的空行为2-3行;
l 在函数体内部,在逻辑上独立的两个函数块可适当空行,一般为1-2行。
l 每行长度尽量避免超过屏幕宽度,应不超过80个字符。
l 尽量用公共过程或子程序去代替重复的功能代码段。
l 使用括号清晰地表达算术表达式和逻辑表达式的运算顺序。
如将x=a*b/c*d 写成x=(a*b/c)*d可避免阅读者误解为x=(a*b)/(c*d)。
l 避免采用过于复杂的条件测试。
l 避免过多的循环嵌套和条件嵌套。
l 一个函数不要超过200行。
一个文件应避免超过2000行。
l 避免使用goto语句。
l 避免采用多赋值语句,如x = y = z;
三、结构定义规范
1) 命名规则(定义在iTradeDefine 命名空间里面):
l 用大写字母表示
l TAG_XXXX 以TAG大头,下划线后面定义具体结构的名称
2) 示例:
l public struct TAG_ALLMESSAGE
四、枚举类型定义规范
1) 命名规则:
l 用大写字母表示
l EU_XXXX以EU 打头,下划线后面定义类型名称
2) 示例:
l public enum EU_MESSAGE
五、常量定义规范
1) 全局使用常量(定义在iTradeDefine 命名空间里面)
l 示例:
n public const bool G_TRANS_FALSE = false;
l 常量定义规范
n 大写字母命名
n G_XXX_YYY G表示全局,XXX标识常量用途,YYY标识具体的值
2) 局部使用常量(定义在每个Class 的前面)
l 示例:
n public const int L_PRIORITY_LOWEST = 0
l 常量定义规范
n 大写字母命名
n L_XXX_YYY L表示局部,XXX标识常量用途,YYY标识具体的值
六、变量定义规范
1) 变量定义原则
变量定义的基本原则是:变量名=属性+类型+对象描述+自定义。
每一个变量定义尽量在函数、过程的开始处就进行定义,尽量避免在代码中不规则的穿插定义。
2) 变量属性命名表
属性
对应标识符
全局变量
g_
常量
c_
类成员变量
m_
局部变量
无属性前缀
3) 变量类型命名表
类型
对应标识符
句柄
h
布尔型
b
浮点型
f
无符号
u
字符串
sz
数字型
i
4) 变量类型描述表
类型
对应标识符
初始化
Init
临时变量
Tmp
目的对象
Dst
源对象
Src
窗口
Wnd
5) 示例
定义一个全局的字符串型的自定义变量:g_szDemo。
七、函数命名规范
1) 避免在函数名中使用“_”。
2) 同一组功能的函数定义一个功能简写,做为该组函数的前缀。
3) XxxYyyZzz Xxx表示该函数的前缀Yyy 标识函数的动作Zzz 标识函数的对象
4) 示例:DelegateGetBody()
八、函数出参入参返回值规范
1) 函数的输入输出参数
函数入参使用前缀“ix”开头,出参用“ox”其后根据变量定义中“类型+对象描述+自定义”的原则来完成。
示例:string isQuePath 入参ref iTFParam otQueBody 出参
2) 函数返回值
避免使用结构体等复杂类型
使用bool类型:该函数只需要获得成功或者失败的返回信息时候
使用int 类型:错误代码用负数表示,成功返回0。