提高C#编程水平的50个要点,程序员都是追求极致的完美主义者,下面的这些注意点和要点,你都掌握运用了多少呢?

  1. 总是用属性(Property)来代替可访问的数据成员
  2. 在 readonly 和 const 之间,优先使用readonly
  3. 在 as 和强制类型转换之间,优先使用 as 操作符
  4. 使用条件属性(Conditional Attribute)来代替条件编译语句 #if
  5. 总是为自定义类重载 ToString() 方法
  6. 区别值类型和引用类型
  7. 使用不可变的值类型(Immutable Atomic Value Types)
  8. 在值类型中,确保0是一个合法的数据
  9. 理解 Reference Equals、static Equals、instance Equals 和 比较运算符(==)之间的关系
  10. 理解 GetHashCode 方法的缺陷
  11. 在编写循环时,优先使用foreach
  12. 在定义变量的时候就将其初始化
  13. 使用静态构造函数来初始化静态成员变量
  14. 用多个构造函数时,利用构造函数链
  15. 使用 using 和 try-finally 来处理资源的释放
  16. 尽量避免产生资源垃圾
  17. 尽量避免使用装箱(Boxing)和拆箱(UnBoxing)
  18. 实现类的 Dispose 方法
  19. 在接口和继承(Inheritance)之间,优先使用接口(Interface)
  20. 区分接口和重载(Override)
  21. 用委托(Delegate)来实现回调(Callback)
  22. 用事件(Event)来定义外部接口
  23. 避免返回类内部成员的引用
  24. 使用元数据来控制程序
  25. 优先使用序列化(Serilizable)类型
  26. 对需要排序的对象实现 IComparable 和 IComparaer 接口
  27. 避免使用ICloneable 接口
  28. 避免使用类型转换操作符
  29. 只有当基类加入了与派生类中现有的函数名称相同的函数时,才需要使用 new 操作符
  30. 尽量使用CLS-Compliant
  31. 尽量编写短少、简单的函数
  32. 尽量编写比较小的程序集(Assembly)
  33. 限定类型的可见性(Visibility)
  34. 编写大粒度的 WEB API
  35. 在使用事件时,优先继承基类事件,而不是重新创建一个事件
  36. 多使用 Framework 的运行时调试(DEBUG、TRACE、EVENTLOG等)
  37. 使用 .NET 标准的配置机制
  38. 使用并且在类中支持 .NET 数据绑定功能(Data Binding)
  39. 使用 .NET 的验证机制(Validation)
  40. 根据你的需求选择正确的集合类(Collection)
  41. 在自定义结构中使用 Dataset
  42. 利用属性(Attributes)
  43. 不要过度使用反射
  44. 创建完整的应用程序特定的异常
  45. 尽可能多的考虑程序可能出现的异常,并作出处理
  46. 尽可能少的使用 Interop
  47. 尽量使用安全代码(Safe Code)
  48. 多多学习、使用外部工具和资源
  49. 准备使用 C# 2.0
  50. 学习 ECMA 标准

  程序员都是追求极致的完美主义者,上面的这些注意点和要点,你都掌握运用了多少呢?

提高C#编程水平的50个要点 你掌握了多少呢?的更多相关文章

  1. 提高C#编程水平的50个要点

    下面的文章转载于 提高C#编程水平的50个要点 1.总是用属性 (Property) 来代替可访问的数据成员 2.在  readonly 和 const 之间,优先使用 readonly 3.在 as ...

  2. 【转】提高C#编程水平的50个要点

    1.总是用属性 (Property) 来代替可访问的数据成员2.在 readonly 和 const 之间,优先使用 readonly3.在 as 和 强制类型转换之间,优先使用 as 操作符4.使用 ...

  3. 提高C#编程水平的50个要诀

    一篇旧时的文章,看后觉得还可以,特别贴出来. 提高C#编程水平的50个要点: .总是用属性 (Property) 来代替可访问的数据成员 .在 readonly 和 const 之间,优先使用 rea ...

  4. 提高C#编程水平不可不读的50个要诀

    提高C#编程水平的50个要点 1.总是用属性 (Property) 来代替可访问的数据成员 2.在 readonly 和 const 之间,优先使用 readonly 3.在 as 和 强制类型转换之 ...

  5. 可以提高php编程效率的20个要点

    整理了可以提高php编程效率的20个要点,发博客记录一下,需要的朋友可以参考.    1.如果能将类的方法定义成static,就尽量定义成static,它的速度会提升将近4倍. 2.$row['id' ...

  6. 提高PHP编程效率的20个要点

    用单引号代替双引号来包含字符串,这样做会更快一些.因为PHP会在双引号包围的字符串中搜寻变量,单引号则 不会,注意:只有echo能这么做,它是一种可以把多个字符串当作参数的“函数”(译注:PHP手册中 ...

  7. 提高php编程效率技巧

    提高php编程效率技巧 投稿:mrr 字体:[增加 减小] 类型:转载 时间:2015-08-13   php是全球范围应用范围最广的开发语言,php和linux.apache.mysql紧密结合,形 ...

  8. 提升自身的iOS编程水平 (转载)

    阅读博客 在现在这个碎片化阅读流行的年代,博客的风头早已被微博盖过.而我却坚持写作博客,并且大量地阅读同行的iOS开发博客.博客的文章长度通常在3000字左右,许多iOS开发知识都至少需要这样的篇幅才 ...

  9. 有效提高win7电脑网速50倍

    有效提高win7电脑网速50倍 目前有多少人在使用Windows7?据统计微软已成功售出3.5亿份正版操作系统,加上市场上流传以Win7旗舰版为首的盗版Win7系统下载,Win7激活次数可能已经超过1 ...

随机推荐

  1. Canvas 生成base64的PNG图片快照,So Amazing!!!

    function canvasSupport(){     return Modernizr.canvas;}function callCanvasApps(){  var canvasOne=doc ...

  2. 【代码优化】当许多构造函数的参数,请考虑使用builder模式

    静态工厂和构造具有共同的局限性:我们不能扩展到大量的非常好的可选参数. 1.对于多个可选參数的构造器.我们都习惯採用重叠构造器模式.比方一个參数的构造器调用2个參数的构造器.     2个參数的构造器 ...

  3. tc-SRM-626-DIV1-250

    枚举alice投掷骰子得到的结果的每一种情况极其数量. 枚举bob投掷骰子得到的结果的每一种情况极其数量. 然后枚举alice投掷骰子得到的结果的数量和bob投掷骰子比alice低的数量. 然后计算结 ...

  4. ORACLE在表中添加的目光凝视和读取列

    在ORACLE中给表.列添加凝视以及读取凝视 1.给表填加凝视:SQL>comment on table 表名 is '表凝视"; 2.给列加凝视:SQL>comment on ...

  5. HTML5实现刮奖效果

    原文:HTML5实现刮奖效果 要实现刮奖效果,最重要的是要找到一种方法:当刮开上层的涂层是就能看到下层的结果.而HTML5的canvas API中有一个属性globalCompositeOperati ...

  6. Android 内存管理 &Memory Leak & OOM 分析

    1.Android 流程管理&内存 Android主要应用在嵌入式设备其中.而嵌入式设备因为一些众所周知的条件限制,通常都不会有非常高的配置,特别是内存是比較有限的. 假设我们编写的代 码其中 ...

  7. 持续集成Jenkins + robot framework + git

    Jenkins + robot framework + git持续集成 一.Jenkins安装插件 进入系统管理—插件管理—可选插件下安装以下插件Git Client Plugin.GIT plugi ...

  8. FZU操作系统课程实验 实验一

    实验1 [实验名称]:并发程序设计(实验1) [实验目的]:掌握在程序中创建新进程的方法, 观察并理解多道程序并发运行的现象. [实验原理]:fork():建立子进程.子进程得到父进程地址空间的一个复 ...

  9. Webbrowser控件史上最强技巧全集

    原文:Webbrowser控件史上最强技巧全集 Webbrowser控件史上最强技巧全集 VB调用webbrowser技巧集 1.获得浏览器信息: Private Sub Command1_Click ...

  10. c# 文件同步服务器,iis 集群 ,代码同步(二)

    打算自己做一个 集群 代码同步软件. 基于Socket 和 FileSystemWatcher .