提高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 ...
随机推荐
- SQL Server 数据库索引
原文:SQL Server 数据库索引 一.什么是索引 减少磁盘I/O和逻辑读次数的最佳方法之一就是使用[索引] 索引允许SQL Server在表中查找数据而不需要扫描整个表. 1.1.索引的好处: ...
- IQ调制、整形滤波器与星座映射
http://www.cnblogs.com/touchblue/archive/2013/01/15/2861952.html 现代通信中.IQ调制基本上属于是标准配置,由于利用IQ调制能够做出全部 ...
- SQL Server 2008 R2 性能计数器详细列表(二)
原文:SQL Server 2008 R2 性能计数器详细列表(二) SQL Server Buffer Partition 对象: 提供计数器来监视 SQL Server 如何使用可用页 SQL S ...
- hdu 1159 Common Subsequence (dp乞讨LCS)
Common Subsequence Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Other ...
- CentOS7 安装Hbase集群
继续接上一章,已安装好Hadoop集群环境 http://www.cnblogs.com/dopeter/p/4612232.html 在此基础上继续安装Hbase集群 Hbase版本为1.0.1.1 ...
- hdu 1233(还是畅通project)(prime算法,克鲁斯卡尔算法)(并查集,最小生成树)
还是畅通project Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Tota ...
- Unity模拟龙之谷人物行走简单控制
我个人挺喜欢龙之谷(DN)的人物控制的(不是广告哈....),就是人物太萌了一点,动作.打击感都挺好的. 今天用Unity简单模仿了一下DN的人物控制,当然,游戏里面动作非常多,我这里仅仅做了简单的w ...
- UVa 11790 - Murcia's Skyline
称号:给你一个行长度的建设和高度,我们祈求最长的和下降的高度. 分析:dp,最大上升子. 说明:具有长度,不能直接优化队列单调. #include <iostream> #include ...
- smb_精简安装
yum install samba vim /etc/samba/smb.conf [修改下自己要发布的目录 .eg : path = /home/iknow] smbpasswd -a ik ...
- Sql Server 2008R2版本中有关外键Foreign的使用
原文:Sql Server 2008R2版本中有关外键Foreign的使用 1. 在数据库设计的过程中往往会想让2张表进行关联而使用到Foreign从而加强2张表之间的约束(如图) 以前有个问题一直没 ...