Domino Web开发规则之一:Notes命名规范

所有的设计元素的命名都分成两部分,名称和别名,规定名称用中文命名,别名用英文,别名尽量使用简写,以WEB开发时不会产生较长的URL为前提,提高HTTP Request的响应速度。中文名称前面加上字母A到Y用于组织分类和排序。表单和视图的别名统一在前面加一个空格,代理统一不加空格,其目的是保证在design下看起来对齐一致。

1.设计元素

元素规则说明
帧结构集名称:中文名称
别名:"frms"+英文
样例:
启动帧结构集|frmsStart
内容帧结构集|frmsContent
名称:中文名称
别名:"frm"+英文
因为帧只存在于帧结构集中,所以不需要用字母来组织分类。
样例:
导航帧|frmNav
右边帧|frmRight
页面名称:中文名称
别名:英文+".html"
样例:
导航页面|Nav.html
左边页面|Left.html
表单名称:中文名称
别名:”fm”+英文(用于存贮)
别名:英文+”.html”(用于显示)
别名:英文+”.xml”(用于显示)
别名:英文+”.js”(用于动态JS)
样例:
申请表单|fmApply
主题表单|fmTopic


说明:

如果表单设计属于仅限于显示,如:
HTML/查询结果|searchResult.html
XML/查询结果|searchResult.xml
JS/扩展日期组件|extCalendar.js
此显示类表单使用”?readform&login&<参数字符串>”打开。根据实际用途设置ContentType。

注:任何需要动态生成显示内容时(页面呈现时,调用后台代码或复杂的公式设计),如:xml/js/json/html都可使用显示类表单完成。
视图显示视图命名

名称:中文名称

别名:"vw"+英文["By"+排序关键字描述]

程序视图命名

名称:"("+中文名称+")"

别名:"vw"+英文["By"+排序关键字描述]

视图的命名与表单是一致的,视图中文名的组织字母与该表单一致,视图别名也与表单的别名的英文部分保持一致。

比如如果表单名为:申请表单|fmApply,那么对应的视图名称应该是"申请视图|vwApply"。如果对于一个表单可能有不止一个视图,经常用的情况是分类视图,对于此类视图,命名规范是名称:中文名称,别名:"vw"+英文+"By"+类别,

样例:
申请/按日期|vwApplyByDate
申请/按类别|vwApplyByType
(申请/按文档创建日期)|vwApplyByCreateDate

注:对于视图的列,如果没有强制性的排序要求,请确保所有的文档按创建时间降序排列,这样新文档才会在最前面显示(这个问题一定要注意)。

视图一般分为显示用视图和程序用视图。在开发时,公式或程序不要在显示用视图中进行操作,如查询,取值。应另创建程序视图提供公式或程序使用。这样不会造成视图设计发生改变时而影响公式或程序运行。

代理名称:中文名称
别名:"ag"+英文
代理的命名也要与表单保持一致,其名称的中文组织字母与表单一样,在表单中经常要使用到QueryOpenAgent和QuerySaveAgent,对应的代理应该是与其一致,比如表单"申请表单|fmApply",那么对应此表单的QueryOpenAgent应该是"申请打开代理|agApplyOpen",对应此表单的QuerySaveAgent应该是"申请保存代理|agApplySave",对于非上述两种情况的代理,不要加open或者save,尽量在代描备注中进行描述此代理作用。

对于所有的代理,如果不是真正意义的定时代理(需要服务器定时来运行),不要把代理属性设置成“定时”,如果设置成了定时可能存在一定的风险,并且在不同的系统打开进行编辑保存时,代理会自动去查找运行的服务器导致design半天不反应。

注:定时代理在多服务器布署时,如果代理所在数据库在多台服务器上存在复本,请指定定时代理运行的服务器,以免造成文档复制冲突问题。

子表单名称:中文名称
别名:"sfm"+英文

只用于编辑类子表单

如果只用于编辑类子表单,别名应该为"sfm"+英文简称+"Edit";
如果只用于只读类子表单,别名应该为"sfm"+英文简称+"Read";
命名规范:前缀+英文,其中的英文如果数据字典有,则必须来自于数据字典,数据字典中没有的,可自行命名,但需要遵守数据字典中的命名要求。

除了保留域,规范如下:

单值文本类型:St+英文,样例:StTopic
多值文本类型:Mt++英文,样例:MtAuthor
单值数字类型:Sn+英文,样例:SnMoney
多值数字类型:Mn+英文,样例:MnMoney
单值日期类型:Sd+英文,样例:SdApply
多值日期类型:Md+英文,样例:MdApply
RTF类型:Rtf+英文,样例:RtfRemark

注:和sap集成的域值可以参考sap参数表的定义,可不严格遵守上述域值定义规则。

角色角色的命名限制:不能超过10个英文字母。

不要用中文命名。

不要用过多的角色,正常情况下一个库5个以下的角色,删除无用的角色常用角色:Manager、Normal、AllReader

2.LS变量命名

变量命名规则旨在LS代码维护时方便查询程序中变量的数据类型,使LS程序更加清晰/易懂;

在声明LS变量时,先使用注释,说明变量的主要用途。第二行为变量声明语句,英文简写首字母一定大写。

数据类型规则取值范围说明
基本数据类型
Intger"i"+英文简写-32,768 - 32,767样例:

' 文档个数
Dim iCount As Integer

Boolean"bo"+英文简写0 (False) 或 -1 (True)样例:

' 保存标志
Dim boSaveFlag As Boolean

Byte"b"+英文简写0 - 255

样例:

' 字节代码
Dim bCode As Byte

Long"l"+英文简写-2,147,483,648 - 2,147,483,647

样例:

' 总计
Dim lTotal As Long

Single"s"+英文简写-3.402823E+38 - 3.402823E+38

样例:

'总和
Dim sSum As Single

Double"d"+英文简写-1.7976931348623158E+308 - 1.7976931348623158E+308

样例:

'总和
Dim dSum As Double

Currency"cy"+英文简写-922,337,203,685,477.5807 - 922,337,203,685,477.5807

样例:

' 总价
Dim cySumPrice As Currency

String"str"+英文简写 

样例:

' 用户名
Dim strUserName As String

Array"a"+英文简写 

样例:

' 关键字列表
Dim aKey(0 to 1) As Array

List"li"+英文简写 

样例:

' 关键字列表
Dim liKey List as String

Variant"v"+英文简写 

样例:

' 文档UNID列表
Dim vDocUNID As Variant

NotesSession"se"+英文简写 

一般一段程序只会有一个会话对象,因此,第一个会话对象命名为session

样例:

' 当前会话
Dim session As New NotesSession

NotesDatabase"db"+英文简写 

如果是当前数据库而命名为db

样例:
' 当前数据库
Dim db As NotesDatabase
' 组织机构库
Dim dbOrgMng as NotesDatabase

NotesView"vw"+英文简写 

一段程序可能需要使用多个视图,因此,第一个会话对象命名为view

样例:

' 所有文档视图
Dim view As NotesView
' 按创建日期排图视图
Dim vwMainByDate as NotesView

NotesViewEntryCollection"vec"+英文简写 

一段程序可能只需要同时使用一个NotesViewEntryCollection时,满足此条件可直接命名为vec

样例:

' 视图查询结果集
Dim vec As NotesViewEntryCollection

注:此类功能与NotesDocumentCollection相似,如果NotesViewEntryCollection能够满足需求,优先考虑使用。

NotesViewEntry"ve"+英文简写 

一段程序如果可能只需要同时使用一个NotesViewEntry时,满足此条件可直接命名为ve

样例:
' 视图查询结果单元
Dim ve As NotesViewEntry

注:此类功能是NotesDocument的功能子集,如果NotesViewEntry能够满足需求,优先考虑使用。

NotesDocument"doc"+英文简写 

一段程序可能需要使用文档变量,因此,从会话中得到的当前文档命名为doc

样例:
' 当前文档
Dim doc As NotesDocument
' 个人文档
Dim docPerson as NotesDocument
' 临时程序交换时使用文档变量
Dim docTemp as NotesDocument

NotesDocumentCollection"dc"+英文简写 

一段程序可能只需要同时使用一个NotesDocumentCollection时,满足此条件可直接命名为dc

样例:

' 视图查询结果集
Dim dc As NotesDocumentCollection

NotesDateTime"dt"+英文简写 

样例:

' 搜索开始时间
Dim dtStart As NotesDateTime

NotesDocumentCollection"dc"+英文简写 

一段程序可能只需要同时使用一个NotesDocumentCollection时,满足此条件可直接命名为dc

样例:

' 视图查询结果集
Dim dc As NotesDocumentCollection

NotesItem"itm"+英文简写 

一段程序可能只需要同时使用一个NotesItem时,满足此条件可直接命名为item

样例:

' 临时交换域
Dim item As NotesItem
' 用户名域
Dim itmUsername As NotesItem

NotesRichTextItem"rtf"+英文简写 

样例:

' 附件存放域
Dim rtfAttFiles As NotesRichTextItem

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值