• 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

  • 相关阅读:
    Shell编程学习1-变量的高级用法
    Ubuntu新机配置深度学习环境遇到的问题
    Python细致技巧总结(不断更新)
    图片着色后存储为“JPEG”格式存在明显色差问题解决
    python图片合成视频
    caffe-ssd安装问题解决
    python画图
    python split(),os.path.split()和os.path.splitext()函数用法
    转载:mysql 存储过程
    css实现div框阴影
  • 原文地址:https://www.cnblogs.com/hannover/p/2062015.html
Copyright © 2020-2023  润新知