您好,欢迎来到易妖游戏网。
搜索
您的当前位置:首页代码检视规范(新)

代码检视规范(新)

来源:易妖游戏网


技术规范1.2

.NET

强制执行:

1、 方法(特别是公用的方法)、事件加上xml注释(包括参数、返回值和用途)。

2、 方法内涉及到判断的必须加上注释。

3、 条件语句前后与其他语句保持一行间隔。

4、 两个方法及属性之间尽量使用空行分隔,以增加代码的可读性。

5、 避免一个操作多次访问服务端,禁止在循环中调用远程方法(同步、异步都不行),应该合并参数采用一次调用并返回数据。

一次操作多次访问服务端如:

循环中调用远程同步方法:

6、 客户端初始化的时候不要调用同步方法,鼠标移动到某一行时不要调用同步方法。

7、 代码深度最大不能超过9,凡是9+以上的代码必须重构。

8、 所有跟数据库交互的方法,应尽量不在循环中调用。如

建议:

1、 不要嵌套使用3目运算符。如

2、 命名要规范。

3、 同类数据,使用枚举。

4、 控制代码长度,一个方法只干一件事。

5、 拒绝硬编码。

6、 避免长的sql,长sql使用存储过程。

SQL

强制执行:

1、 存储过程名称的定义规则,操作数据的存储过程,用Gp_开头,查询数据的存储过程,用Web_开头.

2、 数据库在游标中如果使用return返回时,必须将当前游标CLOSE,DEALLOCATE

例如:

IF @@ROWCOUNT = 0 OR @@ERROR <> 0

BEGIN

CLOSE Account_CURSOR

DEALLOCATE Account_CURSOR

RETURN 701

END

3、 在所有存储过程结尾处必须加”GO”,以防止在批量执行SQL语句的时候,将其他存储过程中的语句加入

例如 :

if exists (select * from dbo.sysobjects where id =

object_id(N'[dbo].[Web_ParentToGetPtype]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)

drop procedure [dbo].[Web_ParentToGetPtype]

GO

CREATE PROCEDURE Web_ParentToGetPtype

…………..

GO –-这里不加的话,会有问题,下面是第二个存储过程

if exists (select * from dbo.sysobjects where id =

object_id(N'[dbo].[Web_ParentToGetPtype]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)

4、 不能同时读写同一张表

例如:

INSERT INTO #TotalAll

SELECT A.TypeId,A.UserCode,A.FullName,Sum(B.Total) AS Total,Sum(B.TotalFor) AS TotalFor,Sum(B.Total1) AS Total1,A.SonNum,A.nTypeId,A.nParId,A.Leveal

FROM #AcItemAll A JOIN #TotalAll B ON B.NTypeId LIKE A.NTypeId+'%'

WHERE A.SonNum>0

GROUP

A.TypeId,A.Leveal,A.UserCode,A.FullName,A.nTypeId,A.nParId,A.SonNum

BY

建议:

1、 关键字大写

2、 存储过程之中应该尽量不以抛出错误码的形式返回,

例如:return -1,而应该采用raiserror('选择的商品数最大行数不能超过500!',16,1)

3、 在对字段进行Group by 进行分组合计时,必须只对需要进行分组的列才GROUP BY,然后再关联出其他无须分组的列

4、 杜绝不必要的子查询和连接表,比如查询inoutstocktable中已经有要出的所有字段,就不需要再关联billindex

SVN:

提交svn时必须加注释(在svn服务器上加)。

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- vipyiyao.com 版权所有 湘ICP备2023022495号-8

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务