客户端脚本编写总体要求
客户端脚本写法要规范简洁,必须配以适当注释。
客户端必须禁止页面缓存,以防止后台处理与页面显示脱节。方法为在网页的<head>部分中加入以下HTML源代码<META HTTP-EQUIV="Pragma" CONTENT="no-cache">
客户端所有页面控件应尽量采用HTML控件,服务器端控件只有在比较简单的情况下才可以适当少量使用。
客户端所有控件命名全部使用ID索引,对控件“name”属性应尽量删除,只有在特别需要时使用。对控件“name”属性可以另加以利用,比如存储当前值等。
客户端因初始页面时,由开发工具自动生成的所有多余的HTML代码应尽量删除,保证页面的简洁。
客户端应尽量少使用大面积图片,以加快加载速度。
初始化客户端页面时,可适当使用服务器端代码加载基本数据,但应充分考虑加载成本,如果数据量较大,比如超过200行数据,必须使用WEBSERVICE,以保证页面加载速度。
使用WEBSERVICE与服务器交互时应考虑数据量和交互时间,对大数据交换,应尽量分段操作,以减少用户等待时间。
从数据库读取数据,以XML返回页面时,应使用DATASET,然后再将树形结构转换成属性结构。
所有用户操作,涉及与服务器交互的,必须对用户行为加以控制,比如点击按钮后触发后台进程时,必须禁止按钮,后台处理完毕后再释放,防止用户多次点击造成多次触发。
对同一页面命名应有明确的模块标志,以防止集成时命名冲突。
数据库设计与操作要求
所有数据库操作全部先组合操作语句,然后操作,不允许与数据库直接绑定。
对数据进行读取时应尽量少使用全表查询(select *),以保证网络流量和提高效率。
对数据进行写操作时,应全部使用明确的字段名,以防止数据结构发生变化。
在查询和更新操作时,应尽量多使用限定条件,以保证正确定位,对限定的条件要注意基本跟表索引次序一致。
对所有写入和更新语句(update and insert),必须全部使用事务,且一般情况下只能使用一个事务,不允许将多条SQL语句一次性提交,正确方法应为,每条SQL语句提交一次,对提交结果进行判断(影响的行数),在确认所有操作逻辑完全正确的情况下,最后提交事务,否则任何一步操作不到位,全事务过程回滚,同时返回给用户提示信息。在每次更新和写入时,应尽量多较验数据逻辑,以保证多用户并发操作情况下数据一致性。
在写操作前,应尽量将所有需要的值全部取到,以避免事务过程中再次读取数据。