zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    递归函数及Java范例
    笔记本的硬盘坏了
    “References to generic type List should be parameterized”
    配置管理软件(configuration management software)介绍
    WinCE文件目录定制及内存调整
    使用Silverlight for Embedded开发绚丽的界面(3)
    wince国际化语言支持
    Eclipse IDE for Java EE Developers 与Eclipse Classic 区别
    WinCE Heartbeat Message的实现
    使用Silverlight for Embedded开发绚丽的界面(2)
  • 原文地址:https://www.cnblogs.com/hannover/p/2180369.html
Copyright © 2011-2022 走看看