提高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 ...
随机推荐
- ASP.NET 5 Beta8 发布
ASP.NET 5 Beta8 发布 ASP.NET 5 的路线图(详见 ASP.NET 5 Schedule and Roadmap : https://github.com/aspnet/home ...
- JNDI-j2ee
Database Connection Pool (DBCP) Configurations The default database connection pool implementation i ...
- WebAPI 用ActionFilterAttribute实现token令牌验证与对Action的权限控制
.NET WebAPI 用ActionFilterAttribute实现token令牌验证与对Action的权限控制 项目背景是一个社区类的APP(求轻吐...),博主主要负责后台业务及接口.以前没玩 ...
- JBehave
JBehave 上篇我们说到如何从Github上clone出一个JBehave项目,既是为了学习JBehava,也是为了熟悉下Github.从clone下来的项目看来,基本没什么问题,稍微捋一捋就可以 ...
- Hadoop Java Hdfs API
1. 在本地文件系统生成一个文本文件,,读入文件,将其第101-120字节的内容写入HDFS成为一个新文件2. 在HDFS中生成文本文件,读入这个文件,将其第101-120字节的内容写入本地文件系统成 ...
- linux的自动化操作相关使用方法汇总(转)
linux系统的web网站在运营状态时,我们常需要对网站进行维护,例如查看资源剩余并做出响应.日志分割.数据整理,在特定状态执行特定任务等等,这些都会需要linux能实现自动执行某些任任务.本篇博文介 ...
- 携程Java工程师——一道面向对象面试选择题(转)
public class Base { private String baseName = "base"; public Base() { callName(); } public ...
- Visual Studio Code开发TypeScript
[Tool] 使用Visual Studio Code开发TypeScript [Tool] 使用Visual Studio Code开发TypeScript 注意 依照本篇操作步骤实作,就可以在 ...
- javascript系列之变量对象
原文:javascript系列之变量对象 引言 一般在编程的时候,我们会定义函数和变量来成功的构造我们的系统.但是解析器该如何找到这些数据(函数,变量)呢?当我们引用需要的对象时,又发生了什么了? 很 ...
- oracle_利用闪回功能恢复数据
方便起见一般:执行如下即可不用往下看: ① 启用行移动功能 alter table tbl_a enable row movement; ② 闪回表数据到某个时间点 flashback table t ...