Fw:Notes程序开发规范

1. 表单的规则

1.1. 表单命名规则

表单命名规范:必须有中文名和英文别名,其中英文别名命名格式为:frm + 其他字符。

必须填写表单的别名.别名的可以用英文单词组合或汉语拼音.如果用拼音,在能够容忍的长度内,尽量用全拼。

通用表单的英文别名命名格式为:$$ + 其他字符,一般不需要自己创建。

1.2. 表单的Js Header

表单的Js Header中的函数应尽可能的少。只保留仅与本表单相关的特殊的Js函数。

通用的Js函数应放到资源数据库中。

1.3. 表单隐藏域设计

表单中的隐藏域全部放在一起,以表格的形式展现,并且放在表单的上方,如:

通过

……
的方式隐藏内容,不采用Domino本身的隐藏方式。

通用的隐藏域,如文档UNID,不能在表单中单独创建这些域,如是通用的,则在资源库中创建,表单再引入,方便日后管理和维护。

隐藏域用到多少创建多少,没用到的隐藏域一个也不用放在表单中,隐藏域必须包含文字说明。

为了界面直观明了,隐藏的内容全部采用红色标出来。

1.4. 表单中的按钮设计

表单按钮采用HTML格式,每个按钮占用一列,方便日后的统一修改和维护。

1.5. 表单中的显示内容

界面内容尽可能不用HTML代码方式设计,多采用Domino本身的设计方式,表格宽度选取“按窗口大小调整”,而不是“按固定宽度”,然后在表格外套一大表格,代码如:

……
,如上图所示。这样做的目的是表格宽度由计算文本控制,这样调整计算文本即可调整整个表格的大小。

正文内容和附件都是子表单,从资源库中引入,不能重新创建,减少日后的维护。

1.6. 表单的OnLoad

Onload中的代码要尽可能的简短,不要写具体的实现代码,只写被调用的函数体即可。例如:

//打开前设置相关状态域: ondocload();

1.7. 表单代理的调用

最好采用这样的形式:document.all.item(‘savedoc’).click。这样做的好处在于代理可以取得表单上所有域的内容,调用代理之前可以进行js前台判断。

如上边方法不能实现,则根据自己擅长的方式处理。

2. 域的规则

命名规则:可以用英文单词组合或汉语拼音.如果用拼音,在能够容忍的长度内,尽量用全拼,如收文编号:swbh或者swNumber。

表单保留域:表单中有些域必须统一,如标题(Subject),正文(Body)。

3. 视图的规则

隐藏视图命名规范:必须有中文名和英文别名,而且必须有括号括起,中文名命名为 $$ + 中文名称,英文别名命名为 $$vw + 英文字符。如 ($$模块配置) $$vwModelConfig。

显示视图命名规范:必须有中文名和英文别名,英文别名命名为 vw + 英文字符。如: 模块配置 vwModelConfig。

视图列中列标题和内容全部靠左对齐,没有特殊的情况下,只有一列有链接,其他列只是显示信息;每列最好有排序功能。

删除列放在视图的第一列。

视图的索引:“刷新索引”属性一般选为:“自动刷新”;“废弃索引”属性一般选为:“不废弃”。对于“用户经常访问,视图中文档经常变动”的视图,这种设置有助于提高视图的打开速度。

4. 代理的规则

代理命名规范:ag + 函数名,如保存文档agSaveDoc,代理中不编写具体实现代码,只是调用一个函数,如 call SaveDoc。函数存放在Script库中,并且函数名称必须是代理名字去掉ag后的函数名,即保持名字的同步。

有几个通用代理:agToExcelPrint(打印)、ViewQueryOpenDefault(视图模板表单打开时调用)、wDeleteDocument(删除文档)。

5. Script库的规则

每个数据库中一般包括3个Script库,ErrorLog(出错处理),MainLib(代理调用的各个函数),Common(通用函数),特别说一下,Common库以资源库中的为基准,如设计过程中,出现通用的函数,则先将函数放到资源库的Common库中,然后在拷贝的自己的库,即一定保持资源库中的Common库的函数是最新最全的。

为了代码的规范,特作以下设定:

当前会话对象命名:session

当前数据库对象:db,其他的数据库:db+ 英文字符.

当前文档对象: note或者doc。其他的文档 doc+英文字符。

6. 注释规则

每个函数前边必须包含一段注释,包括函数功能、参数说明、创建日志等。代码段内,必须有足够的注释,原则上根据每个子功能划分,即函数到底做了哪些事情?把你的回答写成注释即可。

7. 错误处理规则

每个函数必须具备出错处理机制,错误内容写入系统出错日志库中。出错函数调用已经写好,不用自个编写。

原理:使用LotusScript的“on error goto lable”,当发生错误时,跳转到”lable”指定的行下面,然后由我们自己来处理错误,我们提供了一个错误处理类“ErrorLog”。该类中的方法“Sub writeErrorToLog(db As notesdatabase,Byval Errmsg As String,Byval Errline As String)”用于处理错误,该方法的功能是记录出错信息,并写到出错日志库中。

使用方法:

在函数的开始添加

On Error Goto er1 ‘当发生错误时转到”er1:”行处写:

Call writeErrorToLog(session.CurrentDatabase,Cstr(Error()),Cstr(Erl()))

8. LotusScript代码规则

8.1. 函数的长度

函数中的代码行数原则上不要多于100行。

8.2. 函数的命名

让我们看一些错误的命名:

PersonLog ‘更新人员日志

PeopleOut ‘打印人员外出的信息

相对比较正确的应该是这样

UpdatePersonLog ‘更新人员日志

PrintPeopleOut ‘打印人员外出的信息

8.3. 参数的规则

参数名字要有意义

例如:

sub SetValue(width, height) ’ 良好的风格

sub SetValue(x,y)’不好的风格

例如编写字符串拷贝函数StringCopy,它有两个参数。如果把参数名字起为str1和str2,例如function StringCopy( str1, str2)。那么我们很难搞清楚究竟是把str1拷贝到str2中,还是刚好倒过来。可以把参数名字起得更有意义,如叫strSource和strDestination。这样从名字上就可以看出应该把strSource拷贝到strDestination。

如果输入参数以值传递的方式传递 ,则宜改用“ByVal argument”方式来传递,这样可以防止作为参数的变量值被修改,同时又可以省去临时变量的构造过程,从而提高效率。

避免函数有太多的参数,参数个数尽量控制在5个以内。

8.4. 函数的返回值

要书写函数的返回值类型

函数的返回值要与函数的名字相配合

函数的正常返回值和错误返回值的区分

函数尽量不要通过参数传递函数的返回值

8.5. 函数的职责

函数的职责要单一,如果觉得职责的“粒度”不好把握,可以先用自然语言写出总控模块(可以作为注释),针对自然语言的每句话即可作为一个函数。

8.6. 变量的规则

变量的定义后面要书写该变量的注释

变量的作用范围尽量少用全局,作用范围越小越好

一组变量作用相近时,可将这组变量集中在一起定义,并且对该组变量作个说明,比如下面分为两组

Private docApp As notesdocument '应用主文档

Private dbApp As notesdatabase '应用数据库


本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/tangyunning/archive/2009/08/04/4409031.aspx

[@more@]

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/184309/viewspace-1027068/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/184309/viewspace-1027068/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值