html5中文学习网

您的位置: 首页 > 网络编程 > ASP.NET » 正文

对.Net平台开发实践的总结_.NET教程_编程技术

[ ] 已经帮助:人解决问题
CFyHTML5中文学习网 - HTML5先行者学习网

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

一、代码规范CFyHTML5中文学习网 - HTML5先行者学习网

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

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

实义命名CFyHTML5中文学习网 - HTML5先行者学习网

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

大小写规则CFyHTML5中文学习网 - HTML5先行者学习网

目前一般有两种大小写规则:CFyHTML5中文学习网 - HTML5先行者学习网

Pascal大小写形式,所有单词第一个字母大写,其他字母小写。CFyHTML5中文学习网 - HTML5先行者学习网

Camel大小写形式,除了第一个单词,所有单词第一个字母大写,其他字母小写。CFyHTML5中文学习网 - HTML5先行者学习网

类名使用Pascal大小写形式CFyHTML5中文学习网 - HTML5先行者学习网

public class HelloWorld(或者Hello_World,以下同,不再赘述)
{
...
}
CFyHTML5中文学习网 - HTML5先行者学习网

方法使用Pascal大小写形式CFyHTML5中文学习网 - HTML5先行者学习网

public class HelloWorld()
{
void SayHello(string name)
{
...
}
}
CFyHTML5中文学习网 - HTML5先行者学习网

变量和方法参数使用Camel 大小写形式CFyHTML5中文学习网 - HTML5先行者学习网

public class HelloWorld()
{
int totalCount = 0;
void SayHello(string name)
{
string fullMessage = "Hello " + name;
...
}
}
CFyHTML5中文学习网 - HTML5先行者学习网

不要使用匈牙利方法来命名变量CFyHTML5中文学习网 - HTML5先行者学习网

以前,多数程序员喜欢把数据类型作为变量名的前缀而m_作为成员变量的前缀。例如: string m_sName;int nAge;CFyHTML5中文学习网 - HTML5先行者学习网

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

用name,address,salary等代替nam,addr,sal。CFyHTML5中文学习网 - HTML5先行者学习网

别使用单个字母的变量象i,n,x 等。使用 index,temp等。用于循环迭代的变量例外: CFyHTML5中文学习网 - HTML5先行者学习网

如果变量只用于迭代计数,没有在循环的其他地方出现,允许用单个字母的变量命名,而不是另外取实义名。CFyHTML5中文学习网 - HTML5先行者学习网

文件名要和类名匹配,例如,对于类HelloWorld,相应的文件名应为helloworld.cs。CFyHTML5中文学习网 - HTML5先行者学习网

缩进和间隔CFyHTML5中文学习网 - HTML5先行者学习网

缩进用TAB,不用 SPACES。CFyHTML5中文学习网 - HTML5先行者学习网

注释需和代码对齐。CFyHTML5中文学习网 - HTML5先行者学习网

遵循VS2005的自动对齐规则,不要人为的调整。CFyHTML5中文学习网 - HTML5先行者学习网

用一个空行来分开代码的逻辑分组。CFyHTML5中文学习网 - HTML5先行者学习网

在一个类中,各个方法的实现体必须用空行间隔,大括弧“{}”需独立一行。CFyHTML5中文学习网 - HTML5先行者学习网

在每个运算符和括号的前后都空一格。如:CFyHTML5中文学习网 - HTML5先行者学习网

If ( showResult == true )
{
for ( int i = 0; i < 10; i++ )
{
//
}
}
CFyHTML5中文学习网 - HTML5先行者学习网

而不是:CFyHTML5中文学习网 - HTML5先行者学习网

if(showResult==true)
{
for(int i= 0;i<10;i++)
{
//
}
}
CFyHTML5中文学习网 - HTML5先行者学习网

良好的编程习惯CFyHTML5中文学习网 - HTML5先行者学习网

避免使用大文件。如果一个文件里的代码超过300~400行,必须考虑将代码分开到不同类中。CFyHTML5中文学习网 - HTML5先行者学习网

避免写太长的方法。一个典型的方法代码在1~30行之间。如果一个方法发代码超过30行,应该考虑将其分解为不同的方法。CFyHTML5中文学习网 - HTML5先行者学习网

方法名需能看出它作什么。别使用会引起误解的名字。如果名字一目了然,就无需用文档来解释方法的功能了。CFyHTML5中文学习网 - HTML5先行者学习网

一个方法只完成一个任务。不要把多个任务组合到一个方法中,即使那些任务非常小。CFyHTML5中文学习网 - HTML5先行者学习网

使用C# 的特有类型,而不是System命名空间中定义的别名类型。如:CFyHTML5中文学习网 - HTML5先行者学习网

int age;

string name;

object contactInfo;
CFyHTML5中文学习网 - HTML5先行者学习网

而不是:CFyHTML5中文学习网 - HTML5先行者学习网

Int16 age;

String name;

Object contactInfo;
CFyHTML5中文学习网 - HTML5先行者学习网

这么做是基于如下两点原因:(1)规范性和一致性;(2)便于跨语言平台的移植。CFyHTML5中文学习网 - HTML5先行者学习网

别在程序中使用固定数值,用常量代替。别用字符串常数,尽量用资源文件。CFyHTML5中文学习网 - HTML5先行者学习网

避免使用很多成员变量,声明局部变量,并传递给方法。CFyHTML5中文学习网 - HTML5先行者学习网

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

别把成员变量声明为 public或 protected。都声明为private 而使用 public/protected 的Properties。CFyHTML5中文学习网 - HTML5先行者学习网

不在代码中使用具体的路径和驱动器名,使用相对路径,并使路径可编程。永远别设想你的代码是在"C:"盘运行。你不会知道,一些用户在网络或"Z:"盘运行程序。CFyHTML5中文学习网 - HTML5先行者学习网

应用程序启动时作些“自检”并确保所需文件和附件在指定的位置。必要时检查数据库连接,出现任何问题给用户一个友好的提示。CFyHTML5中文学习网 - HTML5先行者学习网

如果需要的配置文件找不到,应用程序需能自己创建使用默认值。如果在配置文件中发现错误值,应用程序要抛出错误,给出提示消息告诉用户正确值。错误消息需能帮助用户解决问题。CFyHTML5中文学习网 - HTML5先行者学习网

注释CFyHTML5中文学习网 - HTML5先行者学习网

别每行代码,每个声明的变量都做注释。在需要的地方注释。CFyHTML5中文学习网 - HTML5先行者学习网

可读性强的代码需要很少的注释,如果所有的变量和方法的命名都很有意义,会使代码可读性很强并无需太多注释。行数不多的注释会使代码看起来优雅。CFyHTML5中文学习网 - HTML5先行者学习网

如果因为某种原因使用了复杂艰涩的原理,必须为程序配备良好的文档和详细的注释。CFyHTML5中文学习网 - HTML5先行者学习网

对注释做拼写检查,保证语法和标点符号的正确使用。CFyHTML5中文学习网 - HTML5先行者学习网

CFyHTML5中文学习网 - HTML5先行者学习网
CFyHTML5中文学习网 - HTML5先行者学习网
(责任编辑:)
收藏文章
表情删除后不可恢复,是否删除
取消
确定
图片正在上传,请稍后...
评论内容为空!
还没有评论,快来抢沙发吧!
关于HTML5先行者 - 联系我们 - 广告服务 - 友情链接 - 网站地图 - 版权声明 - 人才招聘 - 帮助