Domino5编程规范(参考Word).doc

上传人:rrsccc 文档编号:8837332 上传时间:2021-01-19 格式:DOC 页数:12 大小:69KB
返回 下载 相关 举报
Domino5编程规范(参考Word).doc_第1页
第1页 / 共12页
Domino5编程规范(参考Word).doc_第2页
第2页 / 共12页
Domino5编程规范(参考Word).doc_第3页
第3页 / 共12页
Domino5编程规范(参考Word).doc_第4页
第4页 / 共12页
Domino5编程规范(参考Word).doc_第5页
第5页 / 共12页
点击查看更多>>
资源描述

《Domino5编程规范(参考Word).doc》由会员分享,可在线阅读,更多相关《Domino5编程规范(参考Word).doc(12页珍藏版)》请在三一文库上搜索。

1、Domino 5.x编程规范试行版1总则31.1文档约定31.2基本要求31.3可读性要求31.4结构化要求31.5正确性与容错性要求41.6复用性要求42工程规范42.1Domino配置要求42.2文件目录52.3Notes客户端要求53技术细节及规范53.1数据设计元素命名53.1.1数据库命名53.1.2表单命名53.1.3视图命名63.1.4Script库命名63.1.5域命名63.1.6页面命名63.2代码风格73.2.1类的命名73.2.2过程命名73.2.3变量命名73.2.4常量命名73.2.5代码组织73.2.6注释风格83.3表单设计规范93.3.1表单构成93.3.2HT

2、ML设计元素93.3.3程序代码的组织93.3.4表单的绘制94数据库的发布105后记101 总则1.1 文档约定所有代码示例仅作为描述规范的工具,与具体的语言无关。Domino中所有的可用语言均需要遵照该规范进行代码书写。该规范假定读者具有相当的Domino开发经验,初学者如对该文有理解上的障碍请与文档编写者或责任人联系,也可通过其他途径获得支持。1.2 基本要求 数据库设计清爽,结构简单,便于维护。 程序结构清晰,简单易懂,单个函数的程序行数一般不得超过100行。 务求代码精简,避免垃圾代码或注释。 在能够满足功能与性能要求的前提下,尽量使用标准库函数和公共函数。 不可随意定义全局变量,尽

3、量使用局部变量。 逻辑运算复杂的场合,使用括号以避免代码阅读障碍。1.3 可读性要求 可读性第一,效率第二。 保持注释与代码完全一致。 每个源程序文件,都有文件头说明,说明规格见注释规范。 每个函数,都有函数头说明,说明规格见注释规范。 主要变量定义或引用时,注释能反映其含义。 常量定义有相应说明。 处理过程的每个阶段都有相关注释说明。 在典型算法前都有注释。 利用缩进来显示程序的逻辑结构,缩进量一致为2个空格。 循环、分支层次不要超过五层。 注释可以与语句在同一行,也可以在上行。 空行和空白字符也是一种特殊注释。 一目了然的语句不加注释。 注释的作用范围可以为:定义、引用、条件分支以及一段代

4、码。1.4 结构化要求 禁止出现两条等价的支路。 禁止使用GOTO语句。 用 IF 语句来强调只执行两组语句中的一组。禁止 ELSE GOTO 和 ELSE RETURN。 用 CASE 实现多路分支。 避免从循环引出多个出口。 函数只有一个出口,简单的结构清晰的方法除外。 不使用条件赋值语句。 避免不必要的分支。 不要轻易用条件分支去替换逻辑表达式。1.5 正确性与容错性要求 程序首先必须正确无误,然后考虑代码的优雅。 无法证明你的程序没有错误,因此在编写完一段程序后,应立即复核。 修正一个错误时可能产生新的错误,因此在修改前首先考虑对其它程序的影响,程序的每个模块尽量封装起来。 所有变量在

5、调用前必须被初始化(Lotus Script语言无此要求)。 对所有的用户输入,必须进行合法性检查。 不要比较浮点数的相等,如: 10.0 * 0.1 = 1.0 , 不可靠。 程序与环境或状态发生关系时,必须主动去处理发生的意外事件,如数据库能否打开。 单元测试也是编码的一部份,提交测试的程序必须通过个人单元测试。1.6 复用性要求 经常重复使用的、并能够完成相对独立的功能部件应抽象为公共模块或类。 公共模块或类应充分运用OO思想,避免或减少外部依赖,考虑独立性、封装性。2 工程规范2.1 Domino配置要求 必须创建certlog.nsf 必须创建domcfg.nsf 由于中文版Domi

6、no下domcfg.ntf数据库的表单错误地被翻译为中文,造成系统某些功能无法正常发挥作用,请手工修正,具体的操作方法请参考技术部相关文档。 无特殊要求的开发环境,请启用基于会话的验证,单服务/多服务器模式均可。 按实际开发产品或项目中涉及的人员角色、岗位来注册测试用户。 项目技术负责人在Domino目录中建立项目团队群组,并设置相关开发模块的存取权限。2.2 文件目录 禁止直接将应用数据库存放于数据目录的根下 必须创建usr目录和prj目录 在usr目录下,每位开发人员可以建立自己的私人主目录 在prj目录下,每位项目经理可以建立项目主目录2.3 Notes客户端要求 整理个人工作台,按数据

7、库类别或项目组织个人工作台或书签 本地数据库目录不允许存放项目数据库文件(项目经理出于备份或屏蔽设计的目的除外)。 离开个人计算机,必须注销Notes并锁定Windows系统。3 技术细节及规范3.1 数据设计元素命名3.1.1 数据库命名采用字母、数字、下划线的组合进行命名,字母一律使用小写,数据库的命名要求能够反映其履行的功能,如names.nsf。禁止使用大写字母、双字节字符或空格对数据库命名。3.1.2 表单命名说明:表单可以具有多个名称,其一为表单的正式名字,其他为表单的别名。对于程序开发者和出于编程考虑的场合,建议采用别名作为确定表单的真正权威名字,而正式名字一般用以表示表单的用途

8、,可以采用中文名字或英文短语表示,如Personal Stationery。(1)特殊表单的命名$ViewTemplateDefault$ReturnAuthenticationFailure$ReturnAuthorizationFailure$ReturnGeneralError$ViewTemplate for 这些表单我们无法更改它们的名字,但出于编码的需要,我们可以为他们设置一个别名,或将上面的名字作为别名而另起一个名字以作编码之用。(2)一般表单的命名主表单应用的核心表单,一个数据库应用中可能存在多个这样的表单。例如一个电子商务应用中的定单表单。采用字母、数字、下划线的组合对其进行

9、命名,每个单词的第一个字母大写。如SalesOrder、_MailPerformance。表单名字应该浅显易懂,便于记忆。辅助表单这些表单包括应用设置表单、对话框表单等,它们的命名要求基本与主表单相同,区别在于需要为起好的名字添加一个括号,表示对用户不可见。如(RulesDlg)。为了编写程序的方便,可以为这些表单添加别名,如RulesDlg。建议:(1)不要为表单起多个别名;(2)一律采用别名作为编码用名字,并且不要为不在代码中使用的表单设置别名;(3)出于编码目的设置的表单名(一般为别名)中不要出现空格(4)在同一个项目中统一采用相同的单词缩写习惯;(5)为满足双客户机自适应的应用,一些表

10、单可能会存在两个版本,一为Notes下使用,一为Web下使用,这种情况下,请在遵照命名规范命名之后,再在名称前添加一个标志,即目标客户端标志,如果为Web,使用小写字母w,如果为Notes,使用小写字母n。(6)上述建议5适用于正式的表单名称,而别名不必如此。3.1.3 视图命名采用字母、数字、下划线的组合对视图进行命名,每个单词的第一个字母请用大写。如RegUserList。视图名字应该浅显易懂,便于记忆。需要在代码中使用的名字请勿包含空格。程序内部视图使用括号将名字括起来,表示视图为隐藏视图。3.1.4 Script库命名采用字母、数字、下划线的组合对Script库进行命名,每个单词的第一

11、个字母请用大写。如CoreEmailClasses。库名字应该浅显易懂,便于记忆。不要在名字中包含空格。3.1.5 域命名采用字母、数字、下划线的组合对域进行命名,每个单词的第一个字母请用大写。如UserName,又如_Options。名字应该浅显易懂,便于记忆。3.1.6 页面命名(1)一般页面指页面的内容而言,页面中包含的内容直接应用于界面或相关位置,并且一般为界面可见内容。采用字母、数字、下划线的组合对页面进行命名,每个单词的首字母请用大写,如MainPage。名字应该浅显易懂,便于记忆。(2)资源页面资源页面中存放的是可以供其他多个页面或表单使用的共享元素,其中可能嵌入的是附件(图片、

12、JavaScript代码库等)、代码文件等。采用字母、数字、下划线的组合对其进行命名,所有字母都使用小写,如ie_default.css。命名应该浅显易懂,便于记忆。(3)系统保留名字页面类似特殊表单的命名,必须遵照Lotus编程约定。3.2 代码风格3.2.1 类的命名采用字母、数字、下划线的组合进行命名,首字母大写,类的命名要求能够反映描述的事物,如People。3.2.2 过程命名采用字母、数字、下划线的组合进行命名,一个过程是一个动作,名称可采用两部分确定,即动宾结构短语,动词首字母小写,名词首字母大写,如setTitle,过程的命名要求能够反映所执行的操作。3.2.3 变量命名(1)

13、成员变量为了与其他变量如局部变量区分,请在类成员前面添加标记m_,含义为member,其它部分采用字母、数字、下划线的组合进行命名,首字母大写,如m_UserName。(2)全局变量和局部变量每个单词首字母大写,其他字母小写。3.2.4 常量命名用大写字母表示。3.2.5 代码组织单一过程代码行数不可超过100行(通用原则,部分过程可能有不一致的要求,如有冲突以特殊要求为准),主过程的职责为执行初始化、清除并进行功能块的调用,主过程的代码行数不可操作50行。空行约定请按照语义将代码分成不同的段落,每个段落间使用1个空行分隔。运算符使用预定二目运算符请在其前后各添加一个空格,如m_iCount

14、= a + b。括号请在其内侧添加一个空格。单行代码长度对于超长的单行代码,请分割成多行,以便于阅读和修改。具体原则为:1024*768的分辨率下,在缺省的编程窗格布局中,一屏的可视范围下能够完全显示一行,而不使用横向滚动条。注释要求代码必须有注释,所有变量的声明、复杂段落、过程、类以及修订都应该添加注释文字,没有注释的代码不能通过复核,注释可以采用中文或英文。注释量:至少占代码的30% 。3.2.6 注释风格(1)单行注释可以放在代码行的后面或上面,如Dim Count as Long 某某东西的计数或某某东西的计数Dim Count as Long (2)多行注释多行注释一般放在描述的对象

15、之前,如一个类的前面,类或相关独立过程的描述请按照如下的格式书写%rem* * Copyright 2000 info21 All right reserved. * Description:* Version:* Author:* Date:* Modify Log: * End Log*%endrem 一般的大段注释,如过程中的某一段落的算法描述,可以这样写%rem* 这是一个示例的注释编写方法多行之间可以象写文章一样分段。注释中也可以添加相应的装饰字符*%endrem 3.3 表单设计规范表单的设计是程序逻辑实现的主角,表单设计的好坏对程序应用效果的影响很大,从一定程度上讲,不亚于代码设

16、计带来的影响。因此,我们将表单的设计作为独立的一节来说明。3.3.1 表单构成表单的设计采用模块化的设计思想,请将公用部分,即可能出现在其他表单中的部分提取出来,存放在子表单中。多处使用的具有同样功能的域,也可以作为共享的域设计。3.3.2 HTML设计元素JavaScript、CSS一般请将它们存放于页面之中,然后在表单编程窗格HTML首页内容中添加相关的引入代码。页面中的代码编写规则,遵从其他代码的风格,具体内容参看相关章节。页面中代码(或页面中添加的文本附件中的代码)的字体要求:Courier New 9号 棕色。表单中不可直接添加大量的HTML内置文本。表单中的字体请全部采用缺省字体,

17、然后通过CSS类控制风格。CSS的运用要精简,规范,不可滥用。3.3.3 程序代码的组织表单内不应包含过多的程序代码(前台处理除外),能够组织在Script库中的,尽量组织在Script库中,便于维护和复用。3.3.4 表单的绘制排放次序(从上至下)隐藏域用户工作区版权标记等其他隐含域要求所有的隐含域均采用表格的方式绘制排放,即类似登记表的形式。在每个域的前一单元格中放置该域的作用描述。隐含域用红色字体表示。4 数据库的发布 修改数据库图标,使之包含Info21 标志 采用统一的ID对数据库进行签名 屏蔽设计 制作安装程序(如无特殊说明则不作要求)5 后记制订本规范的目的是为了让大家养成良好的编程习惯,这些规范是要让程序有良好的可读性和可维护性,大家开始可能对这些规则不适应,但是在多个开发人员共同创作的情况下,这些规则是必需的。这不仅仅是为了开发效率来考虑,也便于大家更高效地学习和提高。本规范不可避免地存在一些考虑不周详的地方,请大家及时与编者联系,以便于在下一个版本中修订。所有被采纳建议的建议者姓名及建议内容将被列入本文正文之前。 (注:文档可能无法思考全面,请浏览后下载,供参考。可复制、编制,期待你的好评与关注)

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 社会民生


经营许可证编号:宁ICP备18001539号-1