系统开发代码规范文档格式.docx
《系统开发代码规范文档格式.docx》由会员分享,可在线阅读,更多相关《系统开发代码规范文档格式.docx(14页珍藏版)》请在冰豆网上搜索。
神华集团
二、Domino服务器的命名
系统中所有Domino服务器采用以下相同的层次结构进行命名:
服务器名/SHJT(如:
APNT01/SHJT)
Domino服务器的命名规则包括:
服务器名(CommonName)命名规则
服务器名的命名规则将由以下部分组成:
服务器名称
功能代码
平台名称代码
序号(01-09,保留扩展)
例:
APNT01
AP
NT
01
服务器名定长,为6个英文字母或数字。
序号跟功能代码和平台代码相关,功能代码一样的服务器扩展时,顺序号增加一。
如:
服务器ID文件命名规则
服务器ID的文件命名:
服务器名称+扩展名
在服务器名称将取以上服务器的命名并用小写设置,在扩展名统一为:
.sid
apnt01.sid
※服务器功能代码
服务器类型
代码
邮件服务器
ML
应用服务器
同时具有邮件和应用功能的服务器
MA
中心服务器(HubServer)
HU
DominoWeb服务器(WWWServer)
WS
Domino网关服务器(GatewayServer)
GW
※平台名称代码
平台类型
WinNT(2000)
Linux
LI
SunSolaris
SO
IBMAS400
AS
三、系统验证字的命名
为了便于开发和测试,在验证字的管理也更加统一。
对验证字的命名进行如下约定:
根验证字(组织)的命名规则
验证所有服务器的验证字(组织单元)的命名规则
验证用户的验证字(组织单元)的命名规则
所有验证字标识符文件(CertifierID)的命名规则
验证标识符文件名采用英文,文件扩展名为:
cid。
所有服务器在域组织下注册。
验证字
名字和格式
验证字ID文件名
示例
根验证字
工作根(SHJT)
SHJT.cid
服务器验证字
Servers
Servers.cid
Servers/SHJT
用户验证字
所属机构名称
集团;
分公司;
机构名称.cid
例如:
集团.cid,分公司.cid
集团/SHJT
分公司/集团/SHJT
四、用户和群组的命名
对用户及群组的命名将遵守IndiOffice产品的命名规则。
五、模块数据库的命名
数据库属性
命名规范说明
数据库标题
使用中文作为数据库的标题;
发文管理
数据文件名
使用该数据库标题拼音首字母小写;
fwgl.nsf
六、数据库各设计元素的命名
设计元素
命名及规范说明
表单
✓表单名称——以“frm”开头+表单中文拼音代码;
不再使用别名,在表单备注中加以说明;
✓窗口标题——需用中文名称说明,或用数据库标题;
✓段落隐藏——对需要在表单中始终隐藏的部分,应放在表单最上面,需将隐藏的域放在表格中并对该域加以说明;
在隐藏样式上无论是域还是文字都用“红色九号字宋体”来设置;
发布表单
frmFabu
域
✓域名称——以“fld”开头+域中文拼音代码;
(系统特殊域出外;
subject、body)
✓隐藏域名称——以“hfld”开头+域中文拼音代码;
✓共享域名称——延续域的命名规则;
发布日期域
fldRiqi
子表单
✓子表单名称——以“sfrm”开头+表单中文拼音代码;
需要加备注说明;
审批意见
sfrmShenpiyj
视图
✓视图名称——以“vw”开头+中文拼音代码;
不使用别名,需加中文备注;
发布视图
vwFabu
代理
✓代理名称——以“agt”开头+中文拼音代码;
不使用别名,需在注释中加以说明;
agtFabu
页面
✓页面名称——以“pag”开头+中文拼音代码;
不使用别名,需在备注中加以说明;
pagFabu
七、编码规范
变量和常量的命名
在编写LotusScript代码时,虽然Domino可以直接使用变量,但为了代码的可读性和防止输入时出现的错误,要求变量必须显式定义,即在使用之前必须先定义。
在代码的(Options)中设置“OptionExplicit”可以强制Notes进行变量定义检查。
变量命名的方法采用匈牙利命名法,基本结构为scope_typeVariableName
。
对于LotusScript编码,例如,定义一个整形变量,用来记录文档数量:
intDocCount,其中int表明数据类型,后面为表意的英文名,每个单词首字母大写。
※变量类型和首字母对照关系如下表:
数据类型/对象类型
变量前缀
备注
Integer
intbln
做布尔变量时,使用bln。
String
str
Single
sng
Long
lng
Double
dbl
Currency
cur
Variant
blnastrobjvnt
做布尔变量用时,用bln;
做字符串数组用时,用astr;
做为对象使用时,用obj
不确定时,用vnt。
NotesDocument
doc
对应的ui对象的前缀增加ui,即uidoc。
对与当前文档统一用:
note
NotesDatabase
db
NotesDocumentCollection
dc
NotesView
vw
NotesViewEntry
ve
NotesViewEntryCollection
vec
对于数组,在数据类型的前缀前在增加一个a,例如字符串数组为astr。
对于在多个函数内都要使用的全局变量,在前面再增加“g_”。
例如一个全局的字符串变量:
g_strUserInfo。
在变量命名时要注意以下几点:
⏹选择有意义的名字,注意每个单词首字母要大写
⏹在一段函数中不使用同一个变量表示前后意义不同的两个数值
⏹i、j、k等只作为小型循环的循环索引变量
⏹避免使用意义不明确的单词来命名状态变量,如flag;
用Is来命名逻辑变量,如:
blnFileIsFound
⏹如果需要的话,在变量最后附加计算限定词,如:
curSalesSum
⏹不能使用开发者姓名或简称做变量名。
在Script代码中,无论什么时候,均提倡应用常量取代数和固定字符。
也就是说,程序中除0,1以外,尽量不应该出现其他数字。
常量可以集中在程序开始部分定义,使用字母全部大写、单词间用下划线“_”连接的风格:
NUM_DAYS_IN_WEEK。
函数和子过程
函数和子例程的命名一般使用动词短语结构,每个单词的首字母大写,函数命名应该清楚说明函数是做什么的。
函数命名——以“fn”开头+短语结构;
(如:
fnGetDbPath)
子过程命名——以“su”开头+短语结构;
suDealMail)
如果你不知道如何给某函数命名,说明此函数需要重新分析和界定。
一个函数或子例程的代码不应该太复杂,如果一个函数的长度超过200行,就可以考虑将其再次细分为多个函数了。
注释
在代码中必须包含有效数量的注释行,通常超过总行数20%,但宜精不宜多,应该以能够有效维护代码为主要标准。
使用注释的目的:
◆用文字概述代码的作用(如函数的概述)
◆用文字描述代码本身无法说明的信息
◆明确代码的编写思路和逻辑方法
◆使人们注意到代码中的重要转折点
代码注释的原则:
◆在每个例程开头,使用标准的注释块,说明例程的作用、假设条件、限制、输入和输出、编写人、编写时间
◆修改代码时,一定要同步更新注释,并注明修改人、修改时间
◆除变量定义外,不要在代码行后加注释
◆注释要用完整的句子
◆使用注释是要说明代码的意图,而不是对代码的翻译
◆为防止重复问题,通常要在错误修正处添加注释
◆在代码未完成处要加注释
◆在复杂循环和分支结构处加注释,以帮助读者读懂源代码;
如果必须依靠注释才能读懂得代码,就需要考虑重写了
◆在整个应用程序中使用一致的注释风格,使用相同的注释标记和结构
错误捕捉
无论是在写代理、函数或子过程时,都需对所执行程序进行错误的扑捉;
onerrorgotoerrHandler
errHandler:
msgbox“………………”
编码样例如下:
FunctionfnReadFieldNames(dbAsNotesDatabase,strViewAsString,_
astrFieldNameAsVariant,intNumAsInteger)AsInteger
'
『函数功能』
读取域-列对应关系,及其数量
1、获取视图
2、根据视图中文档数量,确定数组维数。
如果不存在任何文档,则退出
3、读取域名、在并重新设定在Excel表中的位置
(因为增加了油田这一列,所以列号同同加一)
『函数接口』
dbinput目标数据库,包含Excel列----Notes域对应表
strViewinput包含Excel列----Notes域对应表的视图名称
astrFieldNameoutputExcel列----Notes域对应关系数组,
三维数组:
列序号、列标题、Notes域名
nNumoutput对应关系的条数
『函数返回值』
类型:
整型,小于0时表示函数内部出现错误:
0函数执行成功
-2找不到Notes域名和Excel表列的对应关系
-99其他错误
『备注』
本函数仅用于原始数据导出函数,
因为在导出时要将原Sheet名称作为第一列:
a0--第一列
『作者』
黄何寅北京慧点科技
『修订历史』
2001-12-28添加了函数返回值缺省值的设置
onerrorgotoerrHandler
……….
ExitFunction
errHandler:
msgbox“fnReadFieldNameserror”&
error&
“inline”&
cstr(erl)
Endfunction
八、产品开发规范
在产品IndiOffice3.X~4.X版本上进行项目开发时,需要遵守以下的规范:
1)表单规范:
♦Myview列表显示采用统一的表单,子表单,代理,具体的步骤可