Effective C#的50条建议

    //1  C#语言元素
    //1  使用属性代替可访问的数据成员
    //2  运行时常量(readonly)优于编译时常量const
    //3  操作符is/as 优于强制类型转换
    //4  使用Conditional特性代替#if条件编译
    //5  总是提供ToString()方法
    //6  明辨值类型和引用类型的使用场合
    //7  将值类型尽可能实现为具有常量性和原子性的类型
    //8  确保0为值类型的有效状态
    //9  理解几个相等判断之间的关系
    //10 理解GetHashCode方法的缺陷
    //11 优先采用foreach循环
   
    //2  .net资源管理
    //12 变量初始化器优于复制语句
    //13 使用静态构造器初始化静态成员类成员
    //14 利用构造链
    //15 利用using / try finally 来清理资源
    //16 尽量减少内存垃圾
    //17 尽量减少装箱和拆箱
    //18 实现标准Dispose模式
   
    //3  使用C#表达设计
    //19 定义并实现接口优于继承类型
    //20 明辨接口实现和虚方法重写
    //21 使用委托表示回调
    //22 使用时间定义外发接口
    //23 避免返回内部类对象的引用
    //24 声明式编程优于命令式编程
    //25 尽可能将类型实现为可序列化的类型
    //26 使用IComparable和IComparer接口实现排序关系
    //27 避免使用ICloneable接口
    //28 避免牵制转换操作符
    //29 只有当新版基类导致冲突时候,才考虑使用new修饰符
   
    //4 创建二进制组建
    //30 尽可能实现CLS兼容的程序集
    //31 尽可能实现短小简洁的函数
    //32 尽可能实现小尺寸,高内聚的程序集
    //33 限制类型的可见性
    //34 创建大颗粒的web API

    //5 使用框架
    //35 重写优于事件处理器
    //36 合理使用.net运行时诊断
    //37 使用标准配置机制
    //38 定制和支持数据绑定
    //39 使用.net验证
    //40 根据需要选用恰当的集合
    //41 DataSet优于自定义结构
    //42 利用特性简化反射
    //43 避免过度使用反射
    //44 为应用程序创建特定的异常类
   
    //6  杂项讨论
    //45 优先选择强异常安全保证
    //46 最小互操作
    //47 优先选择安全代码
    //48 掌握相关工具与资源
    //49 为C#2.0做准备
    //50 了解ECMA标准

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值