资源描述:
《最新Domino代码优化、编码规范(1)教学讲义ppt.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、Domino代码优化、编码规范(1)表单规则:1.1表单命名规则表单名称统一用中文,尽量能展示该表单的功能和意图.如果表单名无法展示其意图,或者表单名必须用英文,或者需要对表单做些其他说明,则填写表单的备注.必须填写表单的别名.别名的可以用英文单词组合或汉语拼音.如果用拼音,在能够容忍的长度内,尽量用全拼。规定:如果名称全拼在16个字之内,用全拼并且每个字的首字母要大写。如果超过16个字,则全用每个字的首字母大写。表单名无需加”fm”的前缀。但可以按其功能类别加前缀,比如用于区分“核心表单和非核心表单”
2、的前缀对于不需要用来创建文档的表单,名字用括弧括起来,用以将后台表单和前台表单区分开,如功能性的表单作为后台表单。表单规则:1.2表单的JsHeader表单的JsHeader中的函数应尽可能的少。只保留仅与本表单相关的特殊的Js函数。规定:放在页面里的js函数包要在页面中写明每个包中的函数名称,方便查找和查看。资源库中的js函数包同时要有同名的说明文件。还要求有一个总体说明文件。1.3表单的OnKeyDown事件可以在此函数中限制用户的一些按键,例如://防止用户CTRL+N,避免繁盛保存冲突if(ev
3、ent.keyCode==78&&event.ctrlKey)returnfalse;视图的规则3.1视图的命名规则视图名称统一用中文,尽量能展示该视图的功能和意图.如果视图名无法展示其意图,或者视图名必须用英文,或者需要对视图做些其他说明,则填写视图的备注。规定:如果视图本身是被调用的在备注中必须写明被谁调用。必须填写视图的别名.别名的可以用英文单词组合或汉语拼音.如果用拼音,在能够容忍的长度内,尽量用全拼.规定:如果名称全拼在16个字之内,用全拼并且每个字的首字母要大写。如果超过16个字,则全用每个
4、字的首字母大写。视图名无需加”vw”的前缀.对于不需要用于前台显示的视图,名字用括弧括起来成为隐藏视图,用以将后台视图和前台视图区分开视图的规则3.3视图的列一般应填写列的“标题”属性,用于辨别该列视图的列的内容的字体应统一设置,一般字号设置为9,字体为宋体,颜色根据客户需要设置,风格应协调统一。视图的列公式尽可能的简洁,减少计算量。避免使用时间相关的列公式,比如@Now,@Created,@Modified.列尽可能不排序删除所有不必要的列视图的规则3.4视图的选择公式避免使用复杂的视图选择公式视图选
5、择公式避免使用与时间、当前用户相关的函数或命令,如@now,@Today,@UserName都是应该避免使用的视图的规则3.5嵌入视图视图作为“嵌入元素”嵌入页面或表单时,“要显示的行”属性的数字尽量设置的少些,以提高嵌入视图的打开速度。规定:初始值设为20行,如果用户提出速度问题,可以改为10行,作为第一解决方案。代理的规则4.1代理的命名规则代理的名字可以用英文单词组合或汉语拼音.如果用拼音,在能够容忍的长度内,尽量用全拼.规定:如果名称全拼在16个字之内,用全拼并且每个字的首字母要大写。如果超过1
6、6个字,则全用每个字的首字母大写。必须填写代理的备注,对代理进行详细的说明。代理名加用于标明其是否为核心代理的前缀.代理的规则4.2代理的其他规则对于定时执行的代理,在该数据库正式启用前,或者该定时代理暂时不使用时,取消代理前的复选框,以暂时禁用该代理。对于那些只为管理者在客户端使用的代理,应设为“私有代理”,防止为他人误用代理“SubInitialize”中的代码要尽可能的简短,不能超过40行。多个代理中或和其他设计元素中共享的代码,应独立到“script库”中。代理的规则4.3同时运行代理缺省的,d
7、omino同一时刻只执行一个web代理(串行),配置domino并行运行web代理能够提高应用的答复时间。配置并行运行代理,需要设置服务器文档中HTTP页下的“是否同时运行web代理”为“是”或者在notes.ini中设置这一行“DominoAsynchronizeAgents=1”代理的规则4.4防止资源冲突同时运行web代理时,为防止资源冲突,要使用用加锁机制,例如:SharesResources=docCgi.UNID(0)+"save"lockID=Createlock(SharesResour
8、ces)gotLock=Codelock(lockID)=======================================//你的代码=======================================If(gotLock)ThenreleaseLock=Codeunlock(lockID)dseleteLock=Destroylock(lockID)EndIfScript库的规则script库中要放功能相近的代码,以