最近看了本关于提高编程效率的书,里面提到了很多很好的建议,我大致整理了下部分常用的建议,在这里分享给大家。建议的分析代码就不在这里写了,实在太多。
基础篇
1、尽量减少对象的装箱操作,如:String s=“”; Object o=s;
2、尽量使用系统自带的默认转型方法,如:ToString();
3、类型转换用as方式不会报错,保证程序的严密性;
4、TryParse比Parse 好;
5、定义变量时,可空字段类型后跟问号(?) 比不跟要好,如:int? ;
6、readonly 在其构造函数中可再次赋值,const常量赋值后不可变;
7、枚举建议不直接显示赋值,使0作为默认值;
8、多使用dynamic 来简化反射实现;
9、元素数量可变的情况下不应使用数组,而使用泛型集合;
10、避免将List<T>作为自定义集合类的基类;
11、迭代器应该是自读的;
12、使用匿名类型存储LINQ查询结果;
13、在查询中使用Lambda表达式;
14、使用延迟查询,多条有关联的延迟查询最终会合并到一条查询,效率更高;
15、区别LINQ查询中的IEnumerable<T>和IQueryable<T>;
16、避免在泛型类型中声明静态成员;
17、使用default为泛型类型变量指定初始值:如:
public T Func<T>(){
T t=default(T);return t;
}
架构篇
18、显示释放资源需继承接口IDisposable,也要注意隐式清理;
19、为无用字段标注不可序列化;
20、用抛出异常代替返回错误代码;
21、使用Task代替ThreadPool;
22、不要为抽象类提供公开的构造方法;
23、可见字段应该重构为属性;
24、用( params object[] args )减少重复参数;
25、必要时可自己扩展系统方法;
26、为静态类添加静态构造函数;
27、一个方法做一件事。