技术规范1.2.NET强制执行:1、
方法
快递客服问题件处理详细方法山木方法pdf计算方法pdf华与华方法下载八字理论方法下载
(特别是公用的方法)、事件加上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=0OR@@ERROR<>0BEGINCLOSEAccount_CURSORDEALLOCATEAccount_CURSORRETURN701END3、在所有存储过程结尾处必须加”GO”,以防止在批量执行SQL语句的时候,将其他存储过程中的语句加入例如:ifexists(select*fromdbo.sysobjectswhereid=object_id(N'[dbo].[Web_ParentToGetPtype]')andOBJECTPROPERTY(id,N'IsProcedure')=1)dropprocedure[dbo].[Web_ParentToGetPtype]GOCREATEPROCEDUREWeb_ParentToGetPtype…………..GO–-这里不加的话,会有问题,下面是第二个存储过程ifexists(select*fromdbo.sysobjectswhereid=object_id(N'[dbo].[Web_ParentToGetPtype]')andOBJECTPROPERTY(id,N'IsProcedure')=1)4、不能同时读写同一张表例如:INSERTINTO#TotalAllSELECTA.TypeId,A.UserCode,A.FullName,Sum(B.Total)ASTotal,Sum(B.TotalFor)ASTotalFor,Sum(B.Total1)ASTotal1,A.SonNum,A.nTypeId,A.nParId,A.LevealFROM#AcItemAllAJOIN#TotalAllBONB.NTypeIdLIKEA.NTypeId'%'WHEREA.SonNum>0GROUPBYA.TypeId,A.Leveal,A.UserCode,A.FullName,A.nTypeId,A.nParId,A.SonNum建议:1、关键字大写2、存储过程之中应该尽量不以抛出错误码的形式返回,例如:return-1,而应该采用raiserror('选择的商品数最大行数不能超过500!',16,1)3、在对字段进行Groupby进行分组合计时,必须只对需要进行分组的列才GROUPBY,然后再关联出其他无须分组的列4、杜绝不必要的子查询和连接表,比如查询inoutstocktable中已经有要出的所有字段,就不需要再关联billindexSVN:提交svn时必须加注释(在svn服务器上加限制)。