日期:2008-02-26 浏览次数:20552 次
以下是本人对.Net平台开发实践的一些点滴总结。这里的技术规范次要是开发过程的代码规范、数据库设计规范、Com和.Net互操作规范;实践精华是对技术实践过程中的部分总结。
一、代码规范
良好的代码风格来自于同一的代码规范。风格良好的代码不只具备可读性和可维护性,同时也给人行云流水、赏心顺眼之快感。
据Microsoft公司统计,基于微软平台的开发中,有70-80%的印度工程师在完成同类算法或者模块时,使用的代码基本分歧;而相反的调查中只要20%的中国工程师们是基本分歧的。这说明我们的代码生产过程亟待规范。
实义命名
类型、变量、常量、方法等标识符一概采用对应的英文实义;如果涉及到两个独立的实义单词,则两头用下划线间隔或者单词首字母大写(两种方式都可以);如果标识符的长度超过了30个字母,则基本上以英文单词发音的重读音节取选出三个字母,如Repeater用rpt,Management用mgt。
大小写规则
目前普通有两种大小写规则:
Pascal大小写方式,所有单词第一个字母大写,其他字母小写。
Camel大小写方式,除了第一个单词,所有单词第一个字母大写,其他字母小写。
类名使用Pascal大小写方式
public class HelloWorld(或者Hello_World,以下同,不再赘述) { ... } |
方法使用Pascal大小写方式
public class HelloWorld() { void SayHello(string name) { ... } } |
变量和方法参数使用Camel 大小写方式
public class HelloWorld() { int totalCount = 0; void SayHello(string name) { string fullMessage = "Hello " + name; ... } } |
不要使用匈牙利方法来命名变量
以前,多数程序员喜欢把数据类型作为变量名的前缀而m_作为成员变量的前缀。例如: string m_sName;int nAge;
然而,这种方式在.NET编码规范中是不推荐的。所有变量都用Camel 大小写方式,而不是用数据类型和m_来作前缀。
用name,address,salary等代替nam,addr,sal。
别使用单个字母的变量象i,n,x 等。使用 index,temp等。用于循环迭代的变量例外:
如果变量只用于迭代计数,没有在循环的其他地方出现,允许用单个字母的变量命名,而不是另外取实义名。
文件名要和类名婚配,例如,对于类HelloWorld,相应的文件名应为helloworld.cs。
缩进和间隔
缩进用TAB,不用 SPACES。
注释需和代码对齐。
遵照VS2005的自动对齐规则,不要人为的调整。
用一个空行来分开代码的逻辑分组。
在一个类中,各个方法的实现体必须用空行间隔,大括弧“{}”需独立一行。
在每个运算符和括号的前后都空一格。如:
If ( showResult == true ) { for ( int i = 0; i < 10; i++ ) { // } } |
而不是:
if(showResult==true) { for(int i= 0;i<10;i++) { // } } |