代码规范
C#中通常使用的两种格式
Camel(驼峰式): 大小写形式-除了第一个单词,所有单词第一个字母大写,其他字母小写。string thisIsASample="";
Pascal(帕斯卡): 大小写形式-所有单词第一个字母大写,其他字母小写。string ThisIsASample
命名原则
1.尽量使用英文,实在不行就用拼音,千万不能用中文
2.变量名最好写全称,如 msg
3.不使用单个字母做变量名for(int i=0)这种除外
4.命名空间,类名,变量名,方法名使用pascal风格即每个单词首写字母都大写
namespace WinApp { public class Person : IComparable { /// <summary> /// 姓名 /// </summary> public string Name { get; set; } /// <summary> /// 年龄 /// </summary> public int Age { get; set; } /// <summary> /// 比对 >0 ; <0 ; =0; /// </summary> public int CompareTo(object obj) { return this.Age.CompareTo(((Person)obj).Age); } } }
5.局部变量,方法参数使用Camel(驼峰式)风格
/// <summary> /// 判断是否是成年人 /// </summary> /// <param name="person">指定的人</param> /// <returns>返回bool类型,>=18 返回true 否则 false</returns> public bool IsAdult(Person person)//person 方法参数变量名,驼峰式 { // age局部变量,驼峰式 int age = person.Age; if (age >= 18) { return true; } else { return false; } }
6.类的私有字段命名,使用_(下划线)加驼峰式 private int _name
7.委托和事件的命名
委托以EventHandler作为后缀命名,例如 SalesOutEventHandler。
事件以其对应的委托类型,去掉EventHandler后缀,并加上On前缀构成。
8.方法的命名 如果方法的返回值是bool类型,则其前缀为Is 如 IsMax,IsNum 如果某个属性的类型为bool类型,则其前缀为Can,例如:CanHidden。
9.集合类型后缀命名
//product Array --> int[] productArray List --> List<Product> productList DataTeble / HashTable -->productTable Dictionary --> Dictionary<string,string> productDictionay DbSet/DataSet --> DbSet<Product> productSet
格式
1.缩进使用Tab键盘,大小为4个空格键
2.方法与方法之间最好空一行(也可以使用#region ... #endregion折叠)
// 注释 +public -private 返回类型 参数 #region 判断是否是成年人 +bool IsAdult(Person person) /// <summary> /// 判断是否是成年人 /// </summary> /// <param name="person">指定的人</param> /// <returns>返回bool类型,>=18 返回true 否则 false</returns> public bool IsAdult(Person person)//person 方法参数变量名,驼峰式 { // age局部变量,驼峰式 int age = person.Age; if (age >= 18) { return true; } else { return false; } } #endregion
编程规范
1.注释
类型、属性、事件、方法参数
/// <summary> /// 方法(作用)XXXX /// </summary> /// <param name="key">参数XX</param> /// <returns>返回XX</returns>
2.Class 的创建,类名和保存成的文件一致
public class Person : IComparable
保存的文件名字只能为Person.cs
3.避免使用大文件,如果一个文件中的代码量超过300-400 lines ,就必须考虑分开方法到各个不同的类中
4.同事需要避免写太长的方法,如果一个方法代码过长,应该考虑将其分解成不同的方法
5.一个方法只做一件事,同样一个类里面只存放相同目的的方法,不要将方法、类“污染”了
6.方法的调用,调用本类方法用this.调用父类方法用base
7.在代码中不使用具体的路径,不出现驱动器名,使用相对路径,并使路径可复用。
http://www.cnblogs.com/Jolinson/articles/3792794.html
8.不要值try而不catch,如果是这样的话,有可能发生的错误,你将永远不知道发生了没有
try { ... } catch (Exception) { throw; }
类型成员的排列顺序
类型成员的排列顺序自上而下依次为:
字段:私有字段、受保护字段
属性:私有属性、受保护属性、公有属性
事件:私有事件、受保护事件、公有事件
构造函数:参数数量最多的构造函数,参数数量中等的构造函数,参数数量最少的构造函数
方法:重载方法的排列顺序与构造函数相同,从参数数量最多往下至参数最少。
良好的编程习惯
1.去除没用到过类引用
2.格式化代码段,不格式化的话,视力脑力都是个挑战
3.对于那些已注释却舍不得删除的代码,他处存储,积累越多空间浪费越多
4.分割行不需太多,一行就行
5.相同的功能出现两次,请使用方法封装
6.命名不用简写,第二次看自己都不知道是什么
7.公用变量,按照用处分类并放到最前面
8.拆分很大的类
9.不要依赖与运算符号优先级,使用()
10.变量单独声明,int a,b,c;这样是不行的
11.给switch加上default
参考:
http://kb.cnblogs.com/page/148249/
http://www.cnblogs.com/aehyok/p/3418447.html
http://www.cnblogs.com/luanshixia/p/3258111.html
http://www.cnblogs.com/tianci/archive/2011/05/03/2035449.html
http://www.cnblogs.com/JimmyZhang/archive/2013/06/05/3118936.html
http://www.cnblogs.com/MeteorSeed/archive/2012/03/21/2404656.html
http://www.cnblogs.com/LeeYongze/archive/2009/11/05/1596891.html
posted on 2014-06-18 11:03 Aidou_dream 阅读(192) 评论(0) 收藏 举报
浙公网安备 33010602011771号