PowerBuild编程规范Word文档格式.docx

上传人:b****2 文档编号:1091823 上传时间:2023-04-30 格式:DOCX 页数:33 大小:30.93KB
下载 相关 举报
PowerBuild编程规范Word文档格式.docx_第1页
第1页 / 共33页
PowerBuild编程规范Word文档格式.docx_第2页
第2页 / 共33页
PowerBuild编程规范Word文档格式.docx_第3页
第3页 / 共33页
PowerBuild编程规范Word文档格式.docx_第4页
第4页 / 共33页
PowerBuild编程规范Word文档格式.docx_第5页
第5页 / 共33页
PowerBuild编程规范Word文档格式.docx_第6页
第6页 / 共33页
PowerBuild编程规范Word文档格式.docx_第7页
第7页 / 共33页
PowerBuild编程规范Word文档格式.docx_第8页
第8页 / 共33页
PowerBuild编程规范Word文档格式.docx_第9页
第9页 / 共33页
PowerBuild编程规范Word文档格式.docx_第10页
第10页 / 共33页
PowerBuild编程规范Word文档格式.docx_第11页
第11页 / 共33页
PowerBuild编程规范Word文档格式.docx_第12页
第12页 / 共33页
PowerBuild编程规范Word文档格式.docx_第13页
第13页 / 共33页
PowerBuild编程规范Word文档格式.docx_第14页
第14页 / 共33页
PowerBuild编程规范Word文档格式.docx_第15页
第15页 / 共33页
PowerBuild编程规范Word文档格式.docx_第16页
第16页 / 共33页
PowerBuild编程规范Word文档格式.docx_第17页
第17页 / 共33页
PowerBuild编程规范Word文档格式.docx_第18页
第18页 / 共33页
PowerBuild编程规范Word文档格式.docx_第19页
第19页 / 共33页
PowerBuild编程规范Word文档格式.docx_第20页
第20页 / 共33页
亲,该文档总共33页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

PowerBuild编程规范Word文档格式.docx

《PowerBuild编程规范Word文档格式.docx》由会员分享,可在线阅读,更多相关《PowerBuild编程规范Word文档格式.docx(33页珍藏版)》请在冰点文库上搜索。

PowerBuild编程规范Word文档格式.docx

]

1.3术语和缩写词

PFCPowerBuilderFoundationClass

1.4必要性

以标准的方式,提交技术协作的水平。

旨在改变以往反复修改、重复劳动、效率低下的现象。

降低开发周期,提高代码质量,提高工作效率。

2.编码规范

2.1命名规范

2.1.1系统命名约定

模块编码

模块名称

模块命名

系统名称

UM01

系统档案

U_ukum0101

系统维护

UM06

权限管理

U_ukum0601

UM07

初始化及参数

U_ukum07--

UM09

日志管理

U_ukum09--

UM10

系统参数

U_ukum10--

UM02

门急诊挂号

U_ukum02--

门诊系统

UM03

门急诊收费

U_ukum03--

UM04

门诊药房

U_ukum04--

UM70

门诊医生工作站

U_ukum70--

UM05

药品管理

U_ukum05--

库房系统

UM30

设备管理

U_ukum30--

UM31

物资供应管理

U_ukum31--

UM32

卫生材料管理

U_ukum32--

UM11

住院登记

U_ukum11--

住院系统

UM12

住院收费

U_ukum12--

UM13

护士工作站

U_ukum13--

UM14

住院医生工作站

U_ukum14--

UM15

住院药局

U_ukum15--

UM16

实验室信息系统

U_ukum16--

医技系统

UM17

超声内镜病理信息

U_ukum17--

UM18

手术麻醉管理系统

U_ukum18--

UM23

报表系统

U_ukum23--

UM22

经济核算

U_ukum22--

UM20

药品报表

U_ukum20--

UM21

院长查询

U_ukum21--

UM25

财务分析

U_ukum25--

UM40

财务查询

U_ukum40--

UM42

病人查询

U_ukum42--

UM19

首页管理

U_ukum19--

病案系统

UM43

门诊管理

U_ukum43--

UM44

病房管理

U_ukum44--

UM45

病案流通

U_ukum45--

UM50

院感传染病管理

U_ukum50--

院感系统

UM71

农合系统

U_ukum71--

医保系统

UM73

体检保健系统

U_ukum73--

体检系统

Uk100

新版住院医生站

U_uk10001

新住院医生站

Uk101

新版护士站

U_uk10101

新住院护士站

Uk103

新药品管理

U_uk103--

Uk1--

新增的系统

U_uk1----

2013新版程序开始新增的系统从uk100向下顺延,模块命名以u_+‘模块编码’命名

例:

2012版系统模块命名以u_uk+‘模块编码’命名系统变量命名约定例:

数据类型:

a:

any

bb:

blob

b:

boolean

c:

char

d:

date

dt:

datetime

dec:

decimal

db:

double

i:

integer

l:

long

r:

real

s:

string

t:

time

ui:

unsignedint

ul:

unsignedlong

2.1.1.1全局变量

全局变量长度不超过16位

全局变量开始固定为小写“g”+数据类型+“_”,构成:

“g”+数据类型+“_”+自定义名称(小写)

如booleangb_yesno

2.1.1.2实例变量

实例变量长度不超过16位

实例变量开始固定为小写“i”+数据类型+“_”,构成:

如booleanib_yesno

2.1.1.3局部变量

局部变量长度不超过16位

实例变量开始固定为小写“l”+数据类型+“_”,构成:

“l”+数据类型+“_”+自定义名称(小写)

如booleanlb_yesno

2.1.2函数命名约定

2.1.2.1公用函数

1.公用函数的命名规则为:

“f_”+功能信息

2.例如:

f_getwindir,f_getpatientinformation

2.1.2.2对象内函数

3.“of_”+‘uk’+自定义名称(小写)

2.1.2.3参数

4.参数前面加上一个前辍字母“a”+数据类型+“_”+自定义名称(小写),根据该参数的目的来命名。

5.functionf_PatientInformation(stringas_caseid);

得到病历号,

输入参数:

病历号。

2.1.3控件命名约定

控件类型的名称作为命名的前缀(小写),用PB缺省命字方式。

PrefixDescription

AppApplication

AbArrayBounds

CbxCheckBox

CbCommandButton

CdClassDefinition

CdoClassDefinitionObject

CnConnection

CninfoConnectionInfo

CnoConnectObject

CxkContextKeyword

CxinfoContextInformation

Cppcplusplus

DsDataStore

DwDataWindow

DwcDataWindowChild

DrgDragObject

DrwDrawObject

DdplbDropDownPictureListBox

DdlbDropDownListBox

DwoDWobject

DdaDynamicDescriptionArea

DsaDynamicStagingArea

EdEnumerationDefinition

EidEnumerationItemDefinition

EmEditMask

EnvEnvironment

ErrError

ExtExtObject

GrGraph

GoGraphicObject

GraxGrAxis

GrdaGrDispAttr

GbGroupBox

HsbHorizontalScrollBar

InetInet

IrInternetResult

LnLine

LbListBox

LvListView

LviListViewItem

MfdMailFileDescription

MmMailMessage

MrMailRecipient

MsMailSession

MdiMDIClient

MMenu

McMenuCascade

MsgMessage

MleMultiLineEdit

NvNonVisualObject

OcOleControl

OoOleObject

OstgOleStorage

OmcOmControl

OmccOmCustomControl

OmecOmEmbeddedControl

OmoOmObject

OmstmOmStream

OmstgOmStorage

OvalOval

PPicture

PbPictureButton

PbcppPBToCPPObject

PlbPictureListBox

PlPipeline

PoPowerObject

ProcallProfileCall

ProclassProfileClass

ProlnProfileLine

PrortProfileRoutine

ProProfiling

RbRadioButton

RecRectangle

RemRemoteObject

RteRichTextEdit

RrecRoundRectangle

RteoRteObject

ScrdScriptDefinition

SleSingleLineEdit

SrvService

StStaticText

StdSimpleTypeDefinition

StrStructure

TabTab

TabpgTabPage

TcanTraceActivityNode

TcbeTraceBeginEnd

TcerrTraceError

TcfTraceFile

TclnTraceLine

TcgcTraceGarbageCollect

TcoTraceObject

TcrtTraceRoutine

TcsqlTraceSQL

TctTraceTree

TctnTraceTreeNode

TcterrTraceTreeError

TctsqlTraceTreeSQL

TctgcTraceTreeGarbageCollect

TctlnTraceTreeLine

TctoTraceTreeObject

TctrtTraceTreeRoutine

TctuTraceTreeUser

TcuTraceUser

TdTypeDefinition

TrTransaction

TrpTransport

TvTreeView

TviTreeViewItem

UoUserObject

VrcdVariableCardinalityDefinition

VrdVariableDefinition

VsbVerticalScrollBar

WoWindowObject

WWindow

2.1.4数据窗口命名约定

2.1.4.1模块功能的主要数据窗口:

“d_”+模块标示+信息

如d_um0401sheet是药房药品入库单主数据窗口。

2.1.4.2打印的数据窗口:

“d_”+模块标示+“_print”或

“d_”+模块标示+“_qt”

如d_um0401_print是药房药品入库单打印数据窗口。

2.1.4.3用于DATASTORE的数据窗口:

“d_”+(模块标示或其他信息)+“_ds”

如d_um0401_ds是药房药品入库单所用的DATASTORE。

2.1.4.4用于辅助信息

“d_”+(模块标示或其他信息)+“_child”

如d_um0401_child是辅助信息显示药房药品入库单所用的数据窗口。

2.1.4.5用于总览的数据窗口

“d_”+(模块标示或其他信息)+“_select”

如d_um0401_child是显示药房药品入库单总览所用的数据窗口

2.2主体代码约束

⏹缩进请使用4个空白符的制表位。

代码折叠必须看起来是完整并且是合乎逻辑的。

2.2.1变量的声明

变量声明置于事件或函数的开始处,不要总是在第一次使用它们的地方做声明.

2.2.2常用语法

⏹普通代码段应该看起来如下:

dw_master.height=(st_info.y-dw_master.y)*0.8

dw_detail.y=dw_master.y+dw_master.height+10

⏹IF语句应该看起来像这样:

Ifds_temp.getitemnumber(1,'

sheet_status'

)>

2then

messagebox('

系统提示'

'

医嘱选择错误’)

return0

else

return1

endif

⏹FOR语句应该看起来像这样:

forll_i=1tothis.rowcount()

//dddd

next

⏹CHOOSECASE语句应该看起来像这样:

longll_row

CHOOSECASEdwo.name

CASE"

order_class"

ifisvalid(inv_rapidinput)then

inv_rapidinput.ia_args[1]="

YL"

endif

billing_attr"

JJ"

endif

ENDCHOOSE

⏹单行的IF必须写在同一行,且只能有一行代码,不写ENDIF。

Ifthis.getrow()<

1thenreturn1

2.2.3代码行数约定

每页中的代码不能多于200行,每行中的代码长度不能超过显示窗口的长度。

如需要请尽量换行。

换行

当一个表达式在一行中放置不下时,根据下面三个原则换行:

在顿号后换行;

在操作符前换行;

在较高级别中断,而不在低级别中断;

在表达式开始处与赋值符号对齐新行;

2.2.4注释

注明每个函数,事件的头部都应该描述该函数的名称、功能、作用范围、入口参数的类型和传值方式及参数含义、返回值类型及返回值的含义。

每个模块对象的properties属性中标明模块的名称。

普通代码的注释率不能少于20%,关键代码的注释率不能少于30%。

1、修改代码时,总是使代码周围的注释保持最新。

2、在每个例程的开始,提供标准的注释样本以指示例程的用途、假设和限制很有帮助。

注释样本应该是解释它为什么存在和可以做什么的简短介绍.

3、避免在代码行的末尾添加注释;

行尾注释使代码更难阅读。

不过在批注变量声明时,行尾注释是合适的;

在这种情况下,将所有行尾注释在公共制表位处对齐。

4、在部署发布之前,移除所有临时或无关的注释,以避免在日后的维护工作中产生混乱。

5、如果需要用注释来解释复杂的代码节,请检查此代码以确定是否应该重写它。

尽一切可能不注释难以理解的代码,而应该重写它。

尽管一般不应该为了使代码更简单以便于人们使用而牺牲性能,但必须保持性能和可维护性之间的平衡。

6、在编写注释时使用完整的句子。

注释应该阐明代码,而不应该增加多义性。

例如

1.编译器忽略//后面的到行结束的内容。

在单行代码中增加一个描述和某种解释时使用。

//fy2013-01-22注释作用

2.编译器忽略/*to*/之间的内容,在代码块之间增加注释时使用,表明开始处及结束处。

/*fy2013-01-22注释作用begin*/

代码段

/*fy2013-01-22end*/

l对象注释

函数、事件注释

/*

功能Fy2013-01-02

入参说明

出参说明

*/

变量注释Stringls_paname,ls_sex//病人姓名,性别

l代码注释

2.2.5 

对象存放约定

编号

文件夹目录

各医院个性PBL

ukhisnew

Ukhis

pqdw.pbl

pquo.pbl

patientquery

Clinic

门诊

Clinicdoc

门诊医生站

Inhos

住院

Inhosdoc

住院医生站

Inhosnur

住院护士站

Techexam

检查系统

Exam

Techlab

检验系统

Labtest

Techoperate

手术系统

Operate

ukDossier

Dossier

ukdrugstore

Drug

Ukdrugexp

物品管理

Exp

ukFIXEDASSET

固定资产

Fix

ukInfect

Infect

ukphysical

physical

ukquery

Query

Ukreport

report

Ukpubuo

公用对象

Pubuo

Ukpubdw

公用数据窗口

Pubdw

Ukpubfun

公用函数

Pubfun

Ukpubcb

公用按钮事件

Pubcb

Ukpubwin

公用window

Pubwin

ukseldw

ukseluo

导出函数对象

Selold

uksysdw.pbl;

uksysdwprint.pbl;

uksysuo.pbl;

系统初始化

sys

ukzspecdw.pbl;

ukzspecuo.pbl;

 

zspec

pfcapsrv.pbl

PFC

Pfc

pfcdwsrv.pbl

pfcmain.pbl

pfcutil.pbl

pfcwnsrv.pbl

pfeapsrv.pbl

pfe

pfedwsrv.pbl

pfemain.pbl;

pfeutil.pbl

pfewnsrv.pbl

2.2.6引用与继承

2.3DataWindow选项

2.3.1数据写入约定

1.数据写入时,要注意edit属性中的Limit值,如果是字符型需要根据字段的长度,

写上limit值,避免因字符串超长造成的错误。

2.必输字段的required属性勾选。

3.可输入字段的showfocusrectangle属性去掉。

4.时间、数字类型及计算列中的数字合计format属性必须输入,如:

yyyy-mm-ddhh:

mm:

ss,yyyy年mm月dd日hh:

ss,#,##0.00

2.3.2Update属性

要求数据窗口更新时的Update属性,都使用Useupdate与Keyandupdateablecolumns的更新方式。

2.3.3界面元素

1.数据窗口中的字段与标签必须排列整齐,不需要的字段能删除的就尽量删除,不能删除的必须将属性修改为不可见,并且尽量缩到最小。

缩到主界面下隐藏起来。

2.界面上尽量不要出现滚动条。

如果显示不全则必须使用滚动条。

3.界面显示时字符型靠左,数字型靠右显示。

4.界面上字符,控件等风格除特殊强调因素外整体风格必须保持一致性。

5.对于对象中的不显示控件,要求统一排列在对象的右上角,不可重叠。

2.3.4状态保护

数据窗口的protect属性,可通过函数动态控制。

/*单条控制PROTECT属性每切换一行执行一次该事件.*/

longll_colcount,ll_i,ll_status

ll_status=dw_master.getitemnumber(dw_master.getrow(),'

ifll_status<

3then

ifal_row>

=1then

ll_colcount=long(dw_detail.Object.DataWindow.Column.Count)

forll_i=1toll_colcount

ifdw_detail.describe("

#"

+string(ll_i)+"

.name"

)<

>

'

unit_select'

then

ifdw_detail.getitemstring(al_row,'

iowh_id'

'

iw_parent.iuo_control.of_uksetbuttonproperty("

D"

true)

dw_detail.modify("

.protect=0"

.edit.DisplayOnly=true"

.edit.autoselect=false"

else

.edit.DisplayOnly=false"

.edit.autoselect=true"

en

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 临时分类 > 批量上传

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2