雁过请留痕...
代码改变世界

【进阶修炼】——改善C#程序质量(7)

2014-10-09 16:33 by xiashengwang, 292 阅读, 0 推荐, 收藏, 编辑
摘要:113,声明变量时考虑最大值。 Ushort的最大值是65535,用于不同的用途这个变量可能发生溢出,所以设计时应充分了解每个变量的最大值。 114,MD5不再安全。 MD5多用于信息完整性的校验。R=H(S),MD5的算法是不可逆的,也就是我们几乎没有可能根据生产的MD5码去还原原文。但是我们可以使用穷举的办法生成MD5码来对比,由于我们平常设定的密码都比较简单,如:123456,根本不用很长... 阅读全文

【进阶修炼】——改善C#程序质量(6)

2014-10-09 16:32 by xiashengwang, 329 阅读, 0 推荐, 收藏, 编辑
摘要:90,不应为抽象类指定public的构造函数。 抽象类即使指定了public的构造函数,也是不能实例化的,编译通不过。抽象类的构造函数应该设定为protected,它的作用应该是初始化自己的成员,以及可以被子类构造函数调用。设定为public权限毫无意义。 91,可见字段应该重构为属性。 属性比字段有更好的灵活性,可以加入代码控制,可以在类型内部实现线程安全访问,可以让类型得到通知(如WPF系统... 阅读全文

【进阶修炼】——改善C#程序质量(5)

2014-10-09 16:31 by xiashengwang, 363 阅读, 0 推荐, 收藏, 编辑
摘要:71, 区分异步和多线程的应用场景。 计算机的很多硬件,如硬盘,光驱,声卡,网卡都有DMA(Direct Memory Access)功能,它可以不占用cpu的资源,而异步的提出恰恰就是基于这个的。而多线程是操作系统上的并行执行的代码,是会占用cpu资源的。所以关于这两种的使用场景建议是:1)对于I/0密集型操作使用异步。2)对于计算密集型操作使用多线程。 72, 在线程同步中使用信号量。 值类... 阅读全文

【进阶修炼】——改善C#程序质量(4)

2014-10-09 16:30 by xiashengwang, 528 阅读, 0 推荐, 收藏, 编辑
摘要:46, 显示释放资源,需要实现IDisposable接口。 最好按照微软建议的Dispose模式实现。实现了IDisposable接口后,在Using代码块中,垃圾会得到自动清理。 47, 即使提供了显示的释放方法,也应该在终结器中提供隐式实现。 因为我们不能保证用户会主动去调用这个释放方法,但我们要保证在垃圾回收时,这些资源能得到清理。 48, Dispose方法应该允许被多次调用。 我们可... 阅读全文

【进阶修炼】——改善C#程序质量(3)

2014-10-09 16:29 by xiashengwang, 274 阅读, 0 推荐, 收藏, 编辑
摘要:32, 总是优先考虑泛型。 泛型代码有很好的重复利用性,和类型安全性。 33, 应尽量避免在泛型类中声明静态成员。 静态成员达不到共享的目的。List和List是两个不同的类型,而静态成员是针对类型的。当然2个List之间是可以共享静态成员的,但为了不必要的混淆,应该避免使用静态成员。 34, 为泛型参数添加约束。 没有约束的参数,功能是有限的,添加了约束后,我们就可以使用约束类型的方法和属性... 阅读全文

【进阶修炼】——改善C#程序质量(2)

2014-10-09 16:28 by xiashengwang, 405 阅读, 0 推荐, 收藏, 编辑
摘要:16, 元素可变的情况下应避免用数组。 数组是定长的集合,可以考虑用ArrayList或List集合。ArrayList元素是object类型,有装箱的开销,性能较低。另外Array类提供了Array.CreateInstance来创建数组,Array.Copy来拷贝数组,但这牵涉到新数组的创建,会增加开销。 17, 多数情况下用foreach代替for循环。 18, Foreach不能代替f... 阅读全文

【进阶修炼】——改善C#程序质量(1)

2014-10-09 16:27 by xiashengwang, 605 阅读, 0 推荐, 收藏, 编辑
摘要:这是一个大纲形式的概要,以便自己可以花较少的时间反复阅读。在开发中,多加注意这些有用的建议,让自己成为一个更优秀的程序员。内容主要来自《编写高质量代码-改善C#程序的157个建议》(陆敏技),这本书写的真的很好,都是些实战经验的总结,建议大家购买,这其中的建议不仅仅适合于C#,只要你做.NET开发,阅读此书都会从中受益。同时,其他书籍和资料的一些好的编程建议,我也会不断更新到这里。 1,... 阅读全文

01,WP8开发基础

2014-10-07 18:15 by xiashengwang, 824 阅读, 0 推荐, 收藏, 编辑
摘要:1,wp应用程序的生命周期编写wp程序,首先必须要搞懂程序的生命周期,因为我们需要在这些不同的时间点做一些必要的事情,比如保存和恢复一些数据。下面这几个事件是我们必须关注的。Applicatoin_Launching:程序启动时触发。Application_Closing:程序退出时触发。Appli... 阅读全文

常用的正则表达式

2014-09-23 18:06 by xiashengwang, 289 阅读, 0 推荐, 收藏, 编辑
摘要:^[1-9]\d*$ //匹配正整数^-[1-9]\d*$ //匹配负整数^-?[1-9]\d*$ //匹配整数^[1-9]\d*|0$ //匹配非负整数(正整数 + 0)^-[1-9]\d*|0$ //匹配非正整数(负整数 + 0)^[1-9]\d*\.\d*|0\.\d*[1-9]\d*$ //... 阅读全文

正则表达式的使用(C#)

2014-09-23 17:23 by xiashengwang, 497 阅读, 0 推荐, 收藏, 编辑
摘要:1, C#中与正则表达式相关类。C#中与正则表达式相关类的几个常用类是Regex,Match,Group,Captrue,RegexOption首先我们看看这几个类的类图关系,如何你有正则表达式基础,从这些方法和属性中就大概能明白使用方法了。Regex:与正则表达式相关的操作必须通过它来执行的,它还... 阅读全文
上一页 1 ··· 4 5 6 7 8 9 10 11 12 ··· 19 下一页