技术支持程序员程序书写规范
编制:李群巍
日期:
一、导言
BSHIS的软件客户化工作是一个庞大的系统工程。客户化工作的好坏,软件质量的好坏直接影响着工程实施和工程进度。为了保证技术支持部程序员编写程序的质量和技术支持的质量,特制定以下技术规范和代码书写注意事项。
此规范是个初稿,在实际应用中,尚需要不断完善和调整。另外,请各序员在实际操作过程中,提出自己的看法和建设性的意见和建议,以使规范不断完善。
二、系统公用模块修改
1、 support.pbl和hispublic.pbl要求各个子系统版本一致
2、 若发现标准版本错误,分类别处理
若是比较简单的错误,很容易修改的,请自行修改,并及时将修改资料交到部门领导,到时候统一提交到质量部,以便及时通报各个技术人员。若是牵涉到很复杂的或者是有很大的业务调整,请提交领导审批后再进行修改。
:如:新增系统公用功能,虽然是可以放在以上两个PBL,但为了不致被覆盖,最好还是自己新建PBL的好。以上PBL中的代码也不要去擅自去调整。
3、请不要将客户化的内容放在support.pbl和hispublic.pbl
4、若一定要对公用模块要进行客户化修改,可从其继承,再作修改
DATAWINDOW有修改的话,请在继承的模块中引用新的从原来的复制下来再进行修改过的DATAWINDOW,而不要直接去修改原来的DATAWINDOW。
三、程序代码编制规范
请参考产品质量部的《程序编制规范.doc》
下面着重讲讲一些经常在工作中出现的不规范的情况和应该注意的地方:
1、 变量命名规范
典型的不规范的情况有:
如:局部变量命名为:integer gl_ksdm
实例变量命名为:integer ll_ksdm
我们命名原则的指定,宗旨是看到这个变量就应该知道是什么变量(全局、局部、实例、共享),是什么类型。良好的变量命名习惯可以使程序阅读起来很轻松,也可提高工作效率和错误的理解导致的工作不便。
变量的类型
对象 |
类型 |
前缀 |
备注 |
整型数字 |
Int |
I_ |
界面中右对齐 |
|
Long |
L_ |
界面中右对齐 |
浮点型数字 |
Double |
D_ |
界面中右对齐 |
|
Decimal |
Dc_ |
界面中右对齐 |
日期 |
Date |
D_ |
界面中左对齐或居中 格式一般为: yyyy.mm.dd |
|
Datetime |
Dt_ |
Yyyy.mm.dd hh:mm:ss |
|
Time |
T_ |
HH:MM:SS |
类实例 |
可视 |
Vu_ |
|
|
非可视 |
U_ |
|
字符串 |
String |
S_ |
界面中左对齐或居中
|
结构体 |
Struct |
Str_ |
|
布尔型 |
Boolean |
B_ |
居中 |
变量的范围:
前缀 |
含义 |
G |
全局 |
S |
共享 |
I |
实例 |
L |
局部 |
A |
参数 |
变量命名
变量范围+变量类型+‘_’+变量名称
例:全局的日期为Gd_today,门诊号参数As_mzhm
注:BSHIS2.2公共全局类名:Uo_support::U_supporclass
BSHIS2.2全局参数结构名:Base_info::Base_info
BSHIS2.2窗口数据传输变量结构:S_Exchange::S_Exchange
2、窗口和窗口相关的DATAWINDOW命名规范
一般将窗口相关的DATAWINDOW,具有和窗口相同的前缀。
这样做的好处是:复制模块或者整理和查看程序的时候很容易
如:w_yk_jchz (药库系统的进出汇总模块)
相关的datawindow可命名为 d_yk_jchz
其他相关的模块和DATAWINDOW都命名为包含 _yk_jchz_ 做为前缀的名字
目前存在乱命名的情况,严重的甚至出现同个系统的不同PBL出现名字重复。
有时候程序数据检索错误,就是这个原因导致的,有时候我们还可能花很大的力气去找原因。
如:his2.1系统药房系统中 d_ypxx 就出现过同名异构的DATAWINDOW
3、函数的命名规范
(1)公用全局函数:
GF_XXXX(GF+_+函数名称)
(2)子系统使用的公共函数:
GF_XX_XXXX(GF+_+系统简称+_+函数名称)
(3)窗口函数:
WF_XXXX(WF+_+函数名称)
(4)类成员函数:
Object.XXXX(函数名称)
Object.of_XXXX(被其他对象和模块调用)
Object.uf_XXXX(内部调用)
(5)全局扩展函数:
GE_XXXX(GE+_+函数名称)
(6)局部扩展函数:
LE_XXXX(LE+_+函数名称)
4、数据窗口命名规范
(1)下拉式数据窗口:
DD_XXXX
(2)一般数据窗口:
D_XX_XXXX(D+_+系统简写+_+数据窗口名称)
主要,窗口私用的DATAWINDOW的命名的前缀除 d_ 外 一般和 窗口的名字同
如:d_yk_jchz 属于 w_yk_jchz 模块
5、类的命名规范
U_XXXX(非可视类)
VU_XXXX(可视类)