我的几点.NET编程习惯
类属性的命名以单词第一个字母大写开始,类的私有变量以下划线加单词第一个字母小写开始。这样的话我们在方法中传递参数的时候,参数变量就可以命名成以单词第一个字母小写开始,调用的时候很容易明白其含义,而且不会和类的私有成员冲突。
除了控件的命名,变量命名的方法不再使用匈牙利命名法,而为变量使用一个更具有代表意义的名字。控件变量前适当的加入小写缩写可以有效的区分控件的类型。
所有的类、方法和属性都做了XML注释。这种注释可以在类或方法等声明的前一行输入“///”自动生成注释格式,做类库程序的时候可以通过类库属性,生成里选择“XML 文档文件”,为项目指定输出XML注释的文档路径,并且利用 Sandcastle 为类库生成文档。
尽量将一些常用的功能模块封装成类,并做成不同的类库,生成XML注释稳当,生成CHM格式的文档。这样下次用的时候就不必到处找这个模块了,只要引用相应的程序集就好了,而且.NET IDE 在你调用类库中的类时还能为你读取XML注释,实在忘记了还能看看 CHM 文档。日积月累这些DLL将成为你一笔很大的财富。
for 和 foreach 我更喜欢for。用 foreach 编写的代码块反编译成IL后会发现其中加入了try块,而且很容易看出来效率要比for稍低。
不再使用“+” 号来连接多个字符串,而是采用 StringBuilder 的 Append 方法,这样会提高效率。关于这个问题读者可以参考一下与.NET 装相相关的文章。
虽然 DataSet 很好用,但是我不喜欢用 DataSet。ADO.NET 隐藏了一个令人讨厌的秘密:这个了不起的新技术对所有的分布式应用程序都不适用。DataSet 很大,用的不好可能会导致系统变慢,而且很容易产生并发冲突。
对需要释放资源的类要实现 IDispose 接口,并使用 using 语句块来访问资源,这样的话有利于垃圾回收。
我喜欢用DataReader,不喜欢将访问数据库类的方法都写成静态的。虽然适当的使用静态方法能够提高程序的运行效率,但是为了避免忘记关闭数据库带来的不必要的麻烦,我还是选择了实现IDispose接口并使用using 块访问数据库的方法。