Net代码编写规范 联系客服

发布时间 : 星期六 文章Net代码编写规范更新完毕开始阅读

郑州海为电子科技有限公司

向小组成员发布。同时要尽可能利用其它人的现成模块。

6.17 路径配置规则

不在代码中使用具体的路径和驱动器名。 使用相对路径,并使路径可编程 永远别设想你的代码是在“c:”盘运行。你不会知道,一些用户在网络或“z:”盘运行程序。

7编程准则

7.1 变量使用

a) 不允许随意定义全局变量。

b) 一个变量只能有一个用途;变量的用途必须和变量的名称保持一致。 c) 所有类变量都必须在类最前面定义。

7.2 类成员访问权限规则

所有类成员要严格的按照成员的使用性质,设置它们的访问修饰符,修饰符的意义如下:

声明的可访问性意义 public

访问不受限制。 protected

访问仅限于包含类或从包含类派生的类型。 internal

访问仅限于当前程序集。 protected internal

访问仅限于从包含类派生的当前程序集或类型。

7.3 数据库操作

a) 查找数据库表或视图时,只能取出确实需要的那些字段。 b) 使用无关联子查询,而不要使用关联子查询。 c) 清楚明白地使用列名,而不能使用列的序号。 d) 用事务保证数据的完整性。

e) 程序内部内嵌的SQL语句必须保持良好的可读性,做好分行及缩进排版。

7.4 对象使用

尽可能晚地创建对象,并且尽可能早地释放它。

7.5 模块设计原则

a) 不允许随意定义公用的函数和类。

b) 函数功能单一,不允许一个函数实现两个及两个以上的功能。

c) 不能在函数内部使用全局变量,如要使用全局变量,应转化为局部变量。 d) 函数与函数之间只允许存在包含关系,而不允许存在交叉关系。即两者之间只存在单方向的调用与被调用,不存在双向的调用与被调用。

郑州海为电子科技有限公司

7.6 结构化要求

a) 禁止出现两条等价的支路。 例如:if (a == 2) //

else if (a== 3) //

else if (a == 2) // else //

b) 避免使用GOTO语句

c) 用 IF 语句来强调只执行两组语句中的一组。禁止 ELSE GOTO 和 ELSE RETURN。

d) 用 CASE 实现多路分支 e) 避免从循环引出多个出口。 f) 函数只有一个出口。 g) 不使用条件赋值语句。 h) 避免不必要的分支。

i) 不要轻易用条件分支去替换逻辑表达式

7.7 函数返回值原则

1) 函数返回值

避免使用结构体等复杂类型

使用bool类型:该函数只需要获得成功或者失败的返回信息时候 使用int 类型:错误代码用负数表示,成功返回0

8 输入控制校验规则

8.1登陆控制

用户登陆ID和登陆密码,要限定输入长度范围,必须检查输入合法性。

8.2 数据录入控制

a) TextBox输入

1、 要保持用户输入和数据库接收的长度一致 2、 必须进行输入合法性校验

如:E_mail格式 XXX@XXX.XXX... 电话格式 020-12345678 (020)12345678 邮政编码是六位

b) 除CheckBox、RadioButton外,禁止在DataGrid内嵌入其他编辑控件,用以添加编辑数据。

郑州海为电子科技有限公司

9 B/S模式界面设计标准

9.1格式化代码

A. 嵌套块应有严格的层次缩进(每一层分别缩进1个Tab,注:每个Tab为4个英文字符)

B. 一个过程或函数不能太长,大致上应限制在200行内,否则应将其拆分为多个过程或函数

C. 当产生长字符串时,使用下划线连接字符产生多行代码

D. 对数据库进行访问数据库、保存、删除、显示数据等操作时,统一使用公用类。

E. 在制作界面时,要对照标准,做到界面与流程要求达到一致,界面也要符合标准的规范

F. 在读取数据显示到界面时,要对照流程的要求与数据库中的表和字段的有效性了解清楚,做到显示的数据完全正确

G. 在处理操作界面数据时,要对照数据库中数据有效性达到一致,数据与流程达到一致,并保证数据有效。数据要合理性(如:数量应该小于0或大于0,小数点等等)

H. 在保存数据处理中,要做到所见即所得,就是保存的数据要与界面数据相一致,并对照流程切保数据符合流程的要求。

I. 在读取数据显示到界面、界面数据操作、保存数据操作要多使用过程或函数,尽量减少控制点,使程序系统化 J. 对于变量的命名,切记要规范

郑州海为电子科技有限公司

K. 在程序中要多加注释,使程序更加清楚

L. 在退出页面时,必须在Page_Disposed(sender,e)事件中释放掉会驻留在内存的变量,主要是Session变量、DataSet变量

M. TextBox 控件的Enabled属性为False时,其背景颜色必须设为灰色(颜色名称: Silver)

N. 切换当前的控件,除了VB.net本身默认的Tab键外,再加上Enter键 O. 关于并发控制,一般采取事务+锁的方式处理,有三种情况: ? 锁定整个表,通常发生在查询大量数据时,使用TABLOCKX提示. 示例:

CREATE PROCEDURE TSellMain_Qry AS

Begin transaction

select * from Sell_SellRecordMain with (TABLOCKX) if @@ERROR > 0 ROLLBACK Else

COMMIT ----提交或回滚事务时释放锁 GO

? 在更新表中所有记录时申请排它锁,防止在提交事务之前记录受其他用户的

影响.