欢迎访问测试中国(www.testingcn.com),做测试的朋友请加QQ群:45598719

.Net平台开发的技术规范与实践精华总结

上一篇 / 下一篇  2007-03-13 23:10:56 / 个人分类:开发相关

.Net平台开发的技术规范与实践精华总结

以下是本人对.Net平台开发实践的一些点滴总结。这里的技术规范主要是开发过程的代码规范、数据库设计规范、Com.Net互操作规范;实践精华是对技术实践过程中的部分总结。

一、代码规范

良好的代码风格来自于同一的代码规范。风格良好的代码不仅具备可读性和可维护性,同时也给人行云流水、赏心悦目之快感。

Microsoft公司统计,基于微软平台的开发中,有70-80%的印度工程师在完成同类算法或者模块时,使用的代码基本一致;而相同的调查中只有20%的中国工程师们是基本一致的。这说明我们的代码生产过程亟待规范。

实义命名

类型、变量、常量、方法等标识符一律采用对应的英文实义;如果涉及到两个独立的实义单词,则中间用下划线间隔或者单词首字母大写(两种方式都可以);如果标识符的长度超过了30个字母,则基本上以英文单词发音的重读音节取选出三个字母,如RepeaterrptManagementmgt

大小写规则

目前一般有两种大小写规则:

Pascal大小写形式,所有单词第一个字母大写,其他字母小写。

Camel大小写形式,除了第一个单词,所有单词第一个字母大写,其他字母小写。

n        类名使用Pascal大小写形式

public class HelloWorld(或者Hello_World,以下同,不再赘述)

{

 ...

}

n        方法使用Pascal大小写形式

public class HelloWorld()

{

 void SayHello(string name)

 {

 ...

 }

}

n        变量和方法参数使用Camel大小写形式

public class HelloWorld()

{

 int totalCount = 0;

 void SayHello(string name)

 {

 string fullMessage = "Hello " + name;

 ...

 }

}

n        不要使用匈牙利方法来命名变量

以前,多数程序员喜欢把数据类型作为变量名的前缀而m_作为成员变量的前缀。例如:string m_sNameint nAge

然而,这种方式在.NET编码规范中是不推荐的。所有变量都用Camel大小写形式,而不是用数据类型和m_来作前缀。

nameaddresssalary等代替namaddrsal

别使用单个字母的变量象inx等。使用indextemp等。用于循环迭代的变量例外:

如果变量只用于迭代计数,没有在循环的其他地方出现,允许用单个字母的变量命名,而不是另外取实义名。

文件名要和类名匹配,例如,对于类HelloWorld,相应的文件名应为helloworld.cs

缩进和间隔

n        缩进用TAB,不用SPACES

n        注释需和代码对齐。

n        遵循VS2005的自动对齐规则,不要人为的调整。

n        用一个空行来分开代码的逻辑分组。

n        在一个类中,各个方法的实现体必须用空行间隔,大括弧“{}”需独立一行。

n        在每个运算符和括号的前后都空一格。如:

 If ( showResult == true )

 {

  for ( int i = 0; i < 10; i++ )

  {

   //

  }

 }

而不是:

 if(showResult==true)

 {

  for(int i= 0;i<10;i++)

  {

   //

  }

 }

良好的编程习惯

n        避免使用大文件。如果一个文件里的代码超过300400行,必须考虑将代码分开到不同类中。

n        避免写太长的方法。一个典型的方法代码在130行之间。如果一个方法发代码超过30行,应该考虑将其分解为不同的方法。

n        方法名需能看出它作什么。别使用会引起误解的名字。如果名字一目了然,就无需用文档来解释方法的功能了。

n        一个方法只完成一个任务。不要把多个任务组合到一个方法中,即使那些任务非常小。

n        使用C#的特有类型,而不是System命名空间中定义的别名类型。如:

             int age;

             string name;

             object contactInfo;

      而不是:

             Int16 age;

             String name;

             Object contactInfo;

这么做是基于如下两点原因:(1)规范性和一致性;(2)便于跨语言平台的移植。

n        别在程序中使用固定数值,用常量代替。别用字符串常数,尽量用资源文件。

n        避免使用很多成员变量,声明局部变量,并传递给方法。

n        不要在方法间共享成员变量,如果在几个方法间共享一个成员变量,那就很难知道是哪个方法在什么时候修改了它的值。必要时使用enum,别用数字或字符串来指示离散值。

n        别把成员变量声明为publicprotected。都声明为private

TAG: 技术规范 开发相关

 

评分:0

我来说两句

日历

« 2024-04-07  
 123456
78910111213
14151617181920
21222324252627
282930    

数据统计

  • 访问量: 320773
  • 日志数: 231
  • 图片数: 1
  • 建立时间: 2006-12-13
  • 更新时间: 2008-10-29

RSS订阅

Open Toolbar