1.代码命名要规范。最好为英文。
方法命名:首字母大写。比如TestName。变量或者参数命名,首字母小写,如:firstName
如下图。类的命名、方法、属性的命名首字母大写。变量、字段、参数(没有成员的)首字母小写。属性不是字段,是类的成员-------方法。类成员包括:字段、属性、方法。属性是一种特殊的方法。
2.括号对称,方法体花括号、if、else、等方法体花括号,对齐对称,内嵌错落有致。
第二个括号写上注释,//表明是属于哪个开始括号的方法体括号。特别是复杂嵌套时:如下图:
3.注释
一个简洁、易于理解的注释能够起到很大的帮助,不论对于维护人员、开发人员等等。
注释的要求:
- 注释应该避免在代码行的末尾进行添加,不过进行单行或者变量等其他声明时,行尾注释是合适的。
- 注释应该是对齐美观的,不应该杂乱。
- 若是对代码有所修改,注释也应当进行更新,以免给下次看到此处代码的人造成误判。
- 最好在编写代码时就给上注释,因为日后可能没有时间回过头来进行添加。
文档型注释:
在声明接口、类、方法、属性、字段都应该使用这种方法的注释,以便代码完成后直接生成代码文档,让别人更好的了解代码的实现和接口。如:
类、接口注释:
方法、事件的注释:
当然也不是所有的方法或者类,都需要非常非常详细的注释,这一点尽量根据实际需要来进行注释,简单的类或者方法就完全没用必要进行注释了,但是在实际开发当中,同名、类似、功能相似、可能会给人带来迷惑,而有的方法逻辑有时候也是非常复杂,这个时候就很有必要进行注释的批注了。
属性、常量注释:// 属性首字母大写。字段、参数、变量等没有包含成员的命名首字母小写。
4.声明
字段的声明:不要使用public或者protected的实例字段。如果避免将字段直接公开给开发人员,可以更轻松地对类进行版本控制。
5.命名
命名应该说明“什么”而不是“如何”。如可使用GetNextStudent(),而不是GetNextArrayElement()
大小写规则
Pascal 首字母大学。Camel:首字母小写
类型 class :Pascal eg:StreamReader
接口 interface :Pascal eg:IEnumerable
方法 :Pascal eg:ToString()
属性:Pascal eg:public int Length { get; }//只读属性
事件 :Pascal eg:public event EventHandler Exited;
字段(私有字段)Camel eg:private string userName;
字段(公共静态)Pascal eg:public static readonly string UserId;
枚举:Pascal eg:enum FileMode{Append,……}
参数:Camel eg:public static int ToInt32(string userId);
类
- 使用Pascal大小写。
- 用名词或名词短语命名类
- 使用全称避免缩写,除非是公认的约定,比如:URL 、HTML
- 不应使用类型前缀,如在类名称上对类型使用C,比如FileStream而不是CFileStream
- 不应该使用下划线_
- 有时候需要提供以字母 I 开始的类名称,就算该类并不是接口。比如类名称IdentityStore是可以的。
接口
- 使用名词或者名词短语,命名接口。
- 使用Pascal大小写。
- 尽量少用缩写。
- 给接口名称加上字母 I 前缀,以指示该类型为接口。在定义类/接口对(其中类是接口的标准实现)时使用类似的名称。两个名称的区别应该只是接口名称上有字母I前缀。比如:IService和Service
- 不应使用下划线_
枚举
- 使用Pascal大小写。如 public enum DataStatus{}
- 少用缩写
- 不要在 Enum 类型名称上使用 Enum 后缀
参数
- 参数名称使用Camel大小写
- 使用描述性参数名称
- 正确命名如下:
Type GetType(string typeName)
方法
- 使用动词或动词短语命名
- 使用Pascal
- 正确实例如下:
RemoveAll()
GetCharArray()
Invoke()
属性(property)
- 使用名词或名词短语
- 使用Pascal大小写
常量(const)
所有单词大写,多个单词之间用 "_" 隔开。 如
public const string PAGE_TITLE = "Welcome";
字段
- private、protected使用Camel大小写
- public使用Pascal大小写
- 仅在开发人员一般都能理解时使用缩写。字段名称不要使用大写字母。正确实例如下:
- 对预定义对象实例使用公共静态只读字段。如果存在对象的预定义实例,则将它们声明为
对象本身的公共静态只读字段。使用 Pascal 大小写,原因是字段是公共的。如:
public static readonly Color Red = new Color(0x0000FF);
集合
集合是一组组合在一起的类似的类型化对象,如哈希表、查询、堆栈、字典和列表,集合的命名
建议用复数。