c#命名规范汇总12条

前言

在刚学习c#的时候,在脑子根本就么有命名规范这个概念,有了一定入门的基础,也很难严格要求自己去规范代码的命名,工作后,发现自己的命名和其他人的命名总会有一些出入,总会闹出一些尴尬的笑话,这里汇总12条c#命名规范。

命名方式主要有两种,
1.驼峰命名法:Camel,驼峰命名法跟帕斯卡命名法相似,只是首字母为小写,如userName。因为看上去像驼峰,因此而得名。俗称“小驼峰”。

2.帕斯卡命名法:帕斯卡命名法 即pascal命名法。做法是首字母大写,如UserName,俗称“大驼峰”。
还有一种不是很常见的:匈牙利命名法,该命名法是在每个变量名的前面加上若干表示数据类型的字符。基本原则是:变量名=属性+类型+对象描述。如i表示int,所有i开头的变量命都表示int类型。s表示String,所有变量命以s开头的都表示String类型变量。

1.变量命名及定义

  • 在简单的循环语句中计数器变量使用 i, j, k, l, m, n
  • 使用 Camel 命名规则
    -私有变量也可以加_,如 _userName
  • 对于bool型属性或者变量使用Is(is)作为前缀,不要使用Flag后缀,例如应该使用IsDeleted,而不要使用DeleteFlag
    -String.Format()代替字符串拼接;
    -长字符串相加或拼接次数较多时,使用String.Builder;
    -使用int.TryParse(),不使用int.Parse();
    -不再循环内定义变量;

2.属性命名

  • 名称应该为名词及名词短语
  • 使用Pascal规则

3.枚举命名规则

  • 对于 Enum 类型和值名称使用 Pascal 大小写。
  • 少用缩写。
  • 不要在 Enum 类型名称上使用 Enum 后缀。
  • 对大多数 Enum 类型使用单数名称,但是对作为位域的 Enum 类型使用复数名称。
  • 总是将 FlagsAttribute 添加到位域 Enum 类型。

4.方法命名

  • 使用Pascal规则
  • 对方法名采用一致的动词/宾语或宾语/动词顺序。例如,将动词置于前面时,所使用的名称诸如 InsertWidget 和 InsertSprocket;将宾语置于前面时,所使用的名称诸如 WidgetInsert 和 SprocketInsert。
  • 推荐名称应该为动词或动词短语.例如Save,SaveCustomer,而不要使用CustomerSave

5.集合命名

  • 名称应该为名词及名词短语
  • 使用Pascal规则
  • 名称后面追加“Collection”或者加复数形式-s也行

6.自定义的属性以Attribute结尾

代码如下:
public class AuthorAttribute : Attribute
{
}

7.自定义的异常以Exception结尾

代码如下:
public class AppException : Exception
{
}

8.接口命名

  • 接口名称应该为名词及名词短语或者描述其行为的形容词,尽可能使用完整的词. (Example IComponent or IEnumberable)
  • 使用Pascal规则
  • 使用字符I为前缀,并紧跟一个大写字母(即接口名的第一个字母大写)
    例如:

代码如下:
interface ICompare
{
int Compare();
}

9.类命名

  • 类名应该为名词及名词短语,尽可能使用完整的词.
  • 使用Pascal规则
  • 不要使用类前缀 - 不要使用下划线字符 (_)。
  • 有时候需要提供以字母 I 开始的类名称,虽然该类不是接口。只要 I 是作为类名称组成部分的整个单词的第一个字母,这便是适当的。例如,类名称 IdentityStore 就是适当的。
  • 在适当的地方,使用复合单词命名派生的类。派生类名称的第二个部分应当是基类的名称。例如,ApplicationException 对于从名为 Exception 的类派生的类是适当的名称,原因是 ApplicationException 是一种 Exception。请在应用该规则时进行合理的判断。例如,Button 对于从 Control 派生的类是适当的名称。尽管按钮是一种控件,但是将 Control 作为类名称的一部分将使名称不必要地加长
    -创建类时不要与内置类名相同,以免混淆

10 缩进

缩进会使代码逻辑更加清晰,嵌套更加明确。缩进时不要是使用空格键,使tab键。

11控件的命名

-Button:btn开头
-Textbox:tb开头
-Combox:cb开头
-ContentMenuStrip:cms开头
-CheckBox:ccb开头
-DataGridView:dgv开头

12事件命名

  • event handlers命名使用 EventHandler 后缀
  • 两个参数分别使用 sender 及 e
  • 使用Pascal规则
  • 事件参数使用EventArgs 后缀
  • 事件命名使用语法时态反映其激发的状态,例如 Changed,Changing
  • 考虑使用动词命名. 变量命名

总结

其实没有什么可以好总结,良好的命名规范是作为码农的最基本要求,是“做人的底线”。还有一些没有指出的规范,希望能评论指出,谢谢。

原文地址:https://www.cnblogs.com/zhangmumu/p/10472248.html

时间: 2024-08-29 10:53:45

c#命名规范汇总12条的相关文章

关于命名规范、维度明细层及集市汇总层设计的思考

在SN做仓库项目,根据自己负责的内容及SN的一些规范等,将这一阶段的模型工作进行一个思考和总结. 一.仓库字段.表等命名的规范 数据仓库建设目的,其中重要的一个方面就是建立统一的全局视图:表.字段等的规范命名就是仓库全局视图一个方面的体现. 在进行规范命名的时候,一般会根据<数据建模字段简写命名规范.xlsx>来进行.<规范>中有的词组,对应的表及字段按照<规范>进行命名:有的字段词组在<规范>中没有,则需要在<规范>中新加.完善和补充.新增加的

CSS命名规范

html页面的CSS.DIV命名规则 CSS命名规则 头:header 内容:content/containe 尾:footer 导航:nav 侧栏:sidebar 栏目:column 页面外围控制整体布局宽度:wrapper 左右中:left right center 登录条:loginbar 标志:logo 广告:banner 页面主体:main 热点:hot 新闻:news 下载:download 子导航:subnav 菜单:menu 子菜单:submenu 搜索:search 友情链接:

常用html、CSS、javascript前端命名规范

常用html.CSS.javascript前端命名规范 无意发现自己文件夹里面有这么一个文件,具体从哪里来的不记得了,仔细看下,发现总结的挺好的,贴出来分享一下. 无论是从技术角度还是开发视角,对于web前端开发规范文档都有一定规范,本文就css3和html5的发展前景总结了一系列的web开发文档,仅供大家参考. 规范目的: 为提高团队协作效率, 便于后台人员添加功能及前端后期优化维护, 输出高质量的文档, 特制订此文档. 本规范文档一经确认, 前端开发人员必须按本文档规范进行前台页面开发. 本

CSS命名规范参考及书写注意事项

CSS书写顺序 *{ /*显示属性*/ display position float clear cursor - /*盒模型*/ margin padding width height /*排版*/ vertical-align white-space text-decoration text-align - /*文字*/ color font content /*边框背景 为什么要把 boder和background放在最后的原因是修改的频率会较之前的频繁,放在最后查看起来方便,哈哈.*/ 

数据库命名规范

1.设计原则 1) 标准化和规范化 数据的标准化有助于消除数据库中的数据冗余.标准化有好几种形式,但Third Normal Form(3NF)通常被认为在性能.扩展性和数据完整性方面达到了最好平衡.简单来说,遵守3NF 标准的数据库的表设计原则是:“One Fact in One Place”即某个表只包括其本身基本的属性,当不是它们本身所具有的属性时需进行分解.表之间的关系通过外键相连接.它具有以下特点:有一组表专门存放通过键连接起来的关联数据. 举例:某个存放客户及其有关定单的3NF 数据

JavaScript发展史,与JScript差别,引入方式,数据类型,命名规范,命名推荐,解决命名冲突

文件夹: 1.JavaScript发展史 2.JavaScript与JScript差别 3.JavaScript引入方式 4.JavaScript基本数据类型及布尔值 5.JavaScript命名规范 6.JavaScript命名推荐 7.JavaScript解决命名冲突 1. JavaScript发展史 1.Netscape发明了JavaScript(1992年后) 1)出现JavaScript的原因(Netscape Navigator) * 网络的不断普及与推广,有庞大的用户量 * 因为当

C#常用的命名规则汇总

本文转载自脚本之家 本文详细汇总了C#常用的命名规则.分享给大家供大家参考.具体如下: Pascal 规则每个单词开头的字母大写(如 TestCounter). Camel 规则除了第一个单词外的其他单词的开头字母大写. 如. testCounter. Upper 规则仅用于一两个字符长的常量的缩写命名,超过三个字符长度应该应用Pascal规则. 例如: 代码如下: public class Math{public const PI = ...public const E = ...public

关于Html class id 命名规范

CSS命名规则 头:header 内容:content/containe 尾:footer 导航:nav 侧栏:sidebar 栏目:column 页面外围控制整体布局宽度:wrapper 左右中:left right center 登录条:loginbar 标志:logo 广告:banner 页面主体:main 热点:hot 新闻:news 下载:download 子导航:subnav 菜单:menu 子菜单:submenu 搜索:search 友情链接:friendlink 页脚:foote

数据库命名规范(转载)

变量(对象)命名 一.数据库: 1. 基本命名规则 表 1. 基本数据库对象命名 数据库对象                                      前缀表 (Table)  ——>>  tbl_ 字段(Column)   ——>>  无 视图 (View)  ——>>  viw_ 存储过程 (Stored procedure)     ——>>  prd_ 触发器(Trigger)                       ——>