提高C#编程水平的50个要点 你掌握了多少呢?
提高C#编程水平的50个要点,程序员都是追求极致的完美主义者,下面的这些注意点和要点,你都掌握运用了多少呢?
- 总是用属性(Property)来代替可访问的数据成员
- 在 readonly 和 const 之间,优先使用readonly
- 在 as 和强制类型转换之间,优先使用 as 操作符
- 使用条件属性(Conditional Attribute)来代替条件编译语句 #if
- 总是为自定义类重载 ToString() 方法
- 区别值类型和引用类型
- 使用不可变的值类型(Immutable Atomic Value Types)
- 在值类型中,确保0是一个合法的数据
- 理解 Reference Equals、static Equals、instance Equals 和 比较运算符(==)之间的关系
- 理解 GetHashCode 方法的缺陷
- 在编写循环时,优先使用foreach
- 在定义变量的时候就将其初始化
- 使用静态构造函数来初始化静态成员变量
- 用多个构造函数时,利用构造函数链
- 使用 using 和 try-finally 来处理资源的释放
- 尽量避免产生资源垃圾
- 尽量避免使用装箱(Boxing)和拆箱(UnBoxing)
- 实现类的 Dispose 方法
- 在接口和继承(Inheritance)之间,优先使用接口(Interface)
- 区分接口和重载(Override)
- 用委托(Delegate)来实现回调(Callback)
- 用事件(Event)来定义外部接口
- 避免返回类内部成员的引用
- 使用元数据来控制程序
- 优先使用序列化(Serilizable)类型
- 对需要排序的对象实现 IComparable 和 IComparaer 接口
- 避免使用ICloneable 接口
- 避免使用类型转换操作符
- 只有当基类加入了与派生类中现有的函数名称相同的函数时,才需要使用 new 操作符
- 尽量使用CLS-Compliant
- 尽量编写短少、简单的函数
- 尽量编写比较小的程序集(Assembly)
- 限定类型的可见性(Visibility)
- 编写大粒度的 WEB API
- 在使用事件时,优先继承基类事件,而不是重新创建一个事件
- 多使用 Framework 的运行时调试(DEBUG、TRACE、EVENTLOG等)
- 使用 .NET 标准的配置机制
- 使用并且在类中支持 .NET 数据绑定功能(Data Binding)
- 使用 .NET 的验证机制(Validation)
- 根据你的需求选择正确的集合类(Collection)
- 在自定义结构中使用 Dataset
- 利用属性(Attributes)
- 不要过度使用反射
- 创建完整的应用程序特定的异常
- 尽可能多的考虑程序可能出现的异常,并作出处理
- 尽可能少的使用 Interop
- 尽量使用安全代码(Safe Code)
- 多多学习、使用外部工具和资源
- 准备使用 C# 2.0
- 学习 ECMA 标准
程序员都是追求极致的完美主义者,上面的这些注意点和要点,你都掌握运用了多少呢?
提高C#编程水平的50个要点 你掌握了多少呢?的更多相关文章
- 提高C#编程水平的50个要点
下面的文章转载于 提高C#编程水平的50个要点 1.总是用属性 (Property) 来代替可访问的数据成员 2.在 readonly 和 const 之间,优先使用 readonly 3.在 as ...
- 【转】提高C#编程水平的50个要点
1.总是用属性 (Property) 来代替可访问的数据成员2.在 readonly 和 const 之间,优先使用 readonly3.在 as 和 强制类型转换之间,优先使用 as 操作符4.使用 ...
- 提高C#编程水平的50个要诀
一篇旧时的文章,看后觉得还可以,特别贴出来. 提高C#编程水平的50个要点: .总是用属性 (Property) 来代替可访问的数据成员 .在 readonly 和 const 之间,优先使用 rea ...
- 提高C#编程水平不可不读的50个要诀
提高C#编程水平的50个要点 1.总是用属性 (Property) 来代替可访问的数据成员 2.在 readonly 和 const 之间,优先使用 readonly 3.在 as 和 强制类型转换之 ...
- 可以提高php编程效率的20个要点
整理了可以提高php编程效率的20个要点,发博客记录一下,需要的朋友可以参考. 1.如果能将类的方法定义成static,就尽量定义成static,它的速度会提升将近4倍. 2.$row['id' ...
- 提高PHP编程效率的20个要点
用单引号代替双引号来包含字符串,这样做会更快一些.因为PHP会在双引号包围的字符串中搜寻变量,单引号则 不会,注意:只有echo能这么做,它是一种可以把多个字符串当作参数的“函数”(译注:PHP手册中 ...
- 提高php编程效率技巧
提高php编程效率技巧 投稿:mrr 字体:[增加 减小] 类型:转载 时间:2015-08-13 php是全球范围应用范围最广的开发语言,php和linux.apache.mysql紧密结合,形 ...
- 提升自身的iOS编程水平 (转载)
阅读博客 在现在这个碎片化阅读流行的年代,博客的风头早已被微博盖过.而我却坚持写作博客,并且大量地阅读同行的iOS开发博客.博客的文章长度通常在3000字左右,许多iOS开发知识都至少需要这样的篇幅才 ...
- 有效提高win7电脑网速50倍
有效提高win7电脑网速50倍 目前有多少人在使用Windows7?据统计微软已成功售出3.5亿份正版操作系统,加上市场上流传以Win7旗舰版为首的盗版Win7系统下载,Win7激活次数可能已经超过1 ...
随机推荐
- Canvas 生成base64的PNG图片快照,So Amazing!!!
function canvasSupport(){ return Modernizr.canvas;}function callCanvasApps(){ var canvasOne=doc ...
- 【代码优化】当许多构造函数的参数,请考虑使用builder模式
静态工厂和构造具有共同的局限性:我们不能扩展到大量的非常好的可选参数. 1.对于多个可选參数的构造器.我们都习惯採用重叠构造器模式.比方一个參数的构造器调用2个參数的构造器. 2个參数的构造器 ...
- tc-SRM-626-DIV1-250
枚举alice投掷骰子得到的结果的每一种情况极其数量. 枚举bob投掷骰子得到的结果的每一种情况极其数量. 然后枚举alice投掷骰子得到的结果的数量和bob投掷骰子比alice低的数量. 然后计算结 ...
- ORACLE在表中添加的目光凝视和读取列
在ORACLE中给表.列添加凝视以及读取凝视 1.给表填加凝视:SQL>comment on table 表名 is '表凝视"; 2.给列加凝视:SQL>comment on ...
- HTML5实现刮奖效果
原文:HTML5实现刮奖效果 要实现刮奖效果,最重要的是要找到一种方法:当刮开上层的涂层是就能看到下层的结果.而HTML5的canvas API中有一个属性globalCompositeOperati ...
- Android 内存管理 &Memory Leak & OOM 分析
1.Android 流程管理&内存 Android主要应用在嵌入式设备其中.而嵌入式设备因为一些众所周知的条件限制,通常都不会有非常高的配置,特别是内存是比較有限的. 假设我们编写的代 码其中 ...
- 持续集成Jenkins + robot framework + git
Jenkins + robot framework + git持续集成 一.Jenkins安装插件 进入系统管理—插件管理—可选插件下安装以下插件Git Client Plugin.GIT plugi ...
- FZU操作系统课程实验 实验一
实验1 [实验名称]:并发程序设计(实验1) [实验目的]:掌握在程序中创建新进程的方法, 观察并理解多道程序并发运行的现象. [实验原理]:fork():建立子进程.子进程得到父进程地址空间的一个复 ...
- Webbrowser控件史上最强技巧全集
原文:Webbrowser控件史上最强技巧全集 Webbrowser控件史上最强技巧全集 VB调用webbrowser技巧集 1.获得浏览器信息: Private Sub Command1_Click ...
- c# 文件同步服务器,iis 集群 ,代码同步(二)
打算自己做一个 集群 代码同步软件. 基于Socket 和 FileSystemWatcher .