C# 程序编写规范
2. 命名规范
通常来讲,名称是以意思相近的英文描述而命名的;例如:一个打开连接的方法 => open connection => OpenConnection();
到达 看其名,知其意 的效果;提高代码的可读性和理解性。
1) Pascal (大驼峰)命名方式
命名空间、类、接口、抽象类、结构体、枚举类、方法名、以及类中的属性,须要使用 Pascal 命名规范;名称中每一个单词的首字母都要大写;
例如:HttpCli
a) 接口
官方文档中提到,接口的命名需要在其名称前加大写字母“I”,取自于 interface 关键字,例如:IDisposable、IDbConnection;
b) 枚举类
枚举类特殊的类,我们可以在自定义的枚举类名称前加大写字母“E”,取自于 enum 关键字,例如:ELogType 日志类型枚举类;
c) 实体类
实体类是非常常用的自定义类,类名最好用 “Entity” 结尾;例如:用户信息实体类 UserInfoEntity;好处也是易于理解,只要看到以 “Entity” 结尾的类名,就知道是一个实体类。
1) 通用的工具类或帮助类
在实际开发中我们会自定义许多的通用类,以便提高开发效率,而这样的类,我们一般在其类名后面加上 “Tool”(工具)或“Utils”(实用类)或“Helper”(助手) 结尾;例如:JsonTool、HttpUtils、SqlHelper 等。
2) Camel (小驼峰)命名方式
方法参数、局部变量、以及私有的成员变量,须要使用 Camel 命名规范;名称中第一个单词是小写的,从第二个单词起,后面每一个单词的首字母都要大写;
a) bool 类型的命名
对于 bool 类型的方法、属性、参数、变量等,还是依据上面的命名规范,一般会在名称的前面添加 “is”或“Is”;( C# 的源码里就是这么写的 )
例如:isSucc 是否成功(参数或局部变量),IsFinish 是否完成(属性),IsChange() 是否改变(方法),_isStopTask 是否停止任务(私有的成员变量)等。
b) 控件命名
通常采用 控件名简写 + 英文描述,英文描述则使用 Pascal 命名方式;例如:登录按钮 btnLogin ,姓名输入框 txtName 等。
3) 代码外观
a) 换行
当你的代码写在一行很长的时候,需要使用编辑器上的横向滚动条来拖动以便查阅时,这时候请务必考虑代码换行。
我们的目的只有一个 —— 不拖动滚动条就能看全代码。
b) 空行
空行是为了将逻辑上相关联的代码分块,以便提高代码的可阅读性。
c) 语句
每行最多包含一个语句,不要在同一行内放置一句以上的代码语句; 这会使得调试器的单步调试变得更为困难。
4) 代码注解
代码注解就四种,//、///、/* */、#region #endregion
a) 注解一定要保持最新,一旦代码变更,相关的注解也要跟着变更释义,时刻保证自己或他人能够看懂理解。
b) 注解一定要写在相关代码的前一行,或代码本行的末尾处;切记,不可把注解写在相关代码的后面一行( 下面一行 )。
c) 避免多余的或不适当的注解,移除所有无关的注解。
d) 对于类、接口、成员的注解,强烈推荐使用 /// 注解,这样在对其调用和使用时,可以直接看到注解信息,
e) 善用 #region #endregion 预处理指令;#region 是一个分块预处理指令,它主要用于编辑代码的分段,在编译时会被自动删除;
5) 文件定义
a) 通常情况下,一个 cs 文件只定义一个 类、接口、枚举、结构体;只有特殊情况可将多个类定义在同一个 cs 文件中,而这必须是紧密关联的多个类。
b) 类名应该与 cs 文件名保持一致,以便于通过文件名查找到类;例如 UserInfo 类 应该在 UserInfo.cs 文件里。
c) 每次在写完代码保存之前,按一次 Ctrl + E + D 快捷键( C#开发环境,如果不是请自行设定 IDE 的开发环境 ),编辑器会自动格式化代码,一是代码美观,二是易于阅读代码。
d) 当一个 cs 源代码文件完成后,请回到顶部,移除多余的 using 引用( 快捷键 Ctrl + R + G )
6) C# 程序结构
C#程序结构大体可以分为命名空间、类、MAIN方法、标识符、关键字、
语句和注释等。

浙公网安备 33010602011771号