文档库 最新最全的文档下载
当前位置:文档库 › pb开发规范

pb开发规范

PB开发规范.dochttps://www.wendangku.net/doc/972822717.html, 2004年11月15日 Blog onlytiancai

-
我的使用小得是:

1。每个表都用中文注明,这个表的标题,表中所有字段的内容。



2。 窗口,数据窗口,事件,类也都注明。



我的PBL是根据所要涉及的模块化分,我个人认为适合我的开发风格。:)

其他是每次使用内存后,在处理完后就释放。(如:datastore)

打开pb 的同时,打开word,把你作的改动,你遇见和解决的问题记录下来(代码和文档同步!)

在每一个pbscript的开始要写出注释,功能,作用之类的注释

PowerBuilder程序开发规范

一、 系统对象的命名

对象名称 命名规则

窗口(WINDOW) w_name

菜单(MENU) m_name

用户对象(USER OBJECT) uo_name

结构体(STRUCTURE) s_name

函数(FUNCTION) f_name

数据窗口(DATA WINDOW)普通数据窗口下拉式数据窗口 (用于DropDwon Datawindow) d_name dddw_name

管道(PIPELINE) p_name

二、 窗口控件命名

控件名称 命名规则

命令按钮(COMMANDBUTTON) cb_name

图形按钮(PICTUREBUTTON) pb_name

复选框(CHECKBOX) cbx_name

单选框(RADIOBOX) rb_name

静态文本(STATICTEXT) st_name

图片(PICTURE) p_name

分组框(GROUPBOX) gb_name

线条(LINE) ln_name

单行编辑框(SINGLELINEEDIT) sle_name

格式编辑框(EDITMASK) em_name

多行编辑框(MULTILINEEDIT) mle_name

RICHTEXTEDIT 控件(RICHTEXTEDIT) rte_name

水平滚动条(HSCROLLBAR) hsb_name

竖直滚动条(VSCROLLBAR) vsb_name

下拉列表框(DROPDOWNLISTBOX) ddlb_name

下拉图形列表框(DROPDOWNPICTURELISTBOX) ddplb_name

列表框(LISTBOX) lb_name

图形列表框(PICTURELISTBOX) plb_name

ListView控件(LISTVIEW) lv_name

TreeView控件(TREEVIEW) tv_name

Tab控件(TAB)Tab页 tab_name tabpage_name

数据窗口控件(DATAWINDOW) dw_name

图形控件(GRAPH) gr_name

OLE控件 ole_name

用户对象控件(USER OBJECT) uo_name





变量命名

变量类型 命名规则

布尔型变量(BOOLEAN) Xb_name

字符型变量(CHAR) Xc_name

日期型变量(DATA) Xd_name

日期时间型变量(DATATIME) Xdt_name

小数型变量(DECIMAL) Xdec_name

双精度浮点型变量(DOUBLE) Xdou_name

整型变量(INTEGER) Xi_name

长整型变量(LONG) Xl_name

实型变量(REAL) Xr_name

结构体变量(STRUCTURE) Xstr_name

字符串型变量(STRING) Xs_name

时间型变量(TIME)

Xt_name

无符号整型变量(UINT) Xui_name

无符号长整型变量(ULONG) Xul_name

说明:对于变量的命名规则中的X

全局变量(GLOBAL VAR) X用g替换

实例变量(INSTANCE VAR) X用i替换

共享变量(SHARED VAR) X用s替换

局部变量(LOCAL VAR) X用l替换

例如:定义字符串变量

全局变量(GLOBAL VAR) gs_name

实例变量(INSTANCE VAR) is_name

共享变量(SHARED VAR) ss_name

局部变量(LOCAL VAR) ls_name

定义整型变量

全局变量(GLOBAL VAR) gi_name

实例变量(INSTANCE VAR) ii_name

共享变量(SHARED VAR) si_name

局部变量(LOCAL VAR) li_name

三、 其他命名

名称 命名规则

用户自定义事件(USER EVENT) ue_name

窗口函数(WINDOW FUNCTION) wf_name

我的思想:多用封装的,少写代码!

一个人写的代码也许只有他自己才能读的懂!

l 建议在本机上建rubbish目录,用来存放暂时不用但以后有可能用到的东西。

l 注意使用已有的类。以继承方式用之。禁止不查看已有的类,自己又重做一套。

l share中各对象都应注册到版本控制系统,如ObjectCycle,修改对象时使用checkin/checkout机制,以便两个/多个人可共同维护同一组对象而不发生冲突,最主要的是可保存以前任何版本,便于提交和恢复

。新建对象时,首先想到的应当是“inherit”,而不是“new”!

l PBL命名规则为以模块标识打头如:jl_。

l 每个pbl模块不应大于1.5MB,过大则应再划分

一、 引言

为了规范软件开发代码及文档,方便维护,特制定软件开发规范如下。

二、 文档编写要求

每个系统要求有:需求分析文档、需求变更文档、数据库结构文档、数据库变更文档、软件开发文档。文档应先于具体编程,即编写程序以前必须写好相应的文档,然后按照文档进行编程。

每个窗口、事件都必须有文档。要求写出模块的名称、功能、输入、输出参数介绍、创建、修改时间。

三、 程序风格

程序要有良好的缩进格式。以Power Builder为例:

If condition Then

something to do

End If

即每个关键字头字母大写,相应位置有3个空格的缩进。

四、 变量命名规范(以Power Builder为例)

1、 对象命名

PowerBuilder中,对象的命名一般采用如下前缀:

Prefix Object

-------------------------------------------

d_ DataWindows

dddw_ DropDownDataWinows

f_ Functions

m_ Menus

p_ Pipeli

nes

s_ Structures

u_ UserObjects

w_ Windows

2、 控件命名

在PowerBuilder的窗口中,控件的命名一般采用如下前缀:

Prefix Control

---------------------------------------------------------------

cbx_ CheckBox

cb_ CommandButton

dw_ DataWindow

ddlb_ DropDownListBox

em_ EditMask

gr_ Graph

gb_ GroupBox

hsb_ HScrollBar

ln_ Line

lb_ ListBox

mle_ MultiLineEdit

ole_ OLE 2 0

ocx_ OCX

oval_ Oval

p_ Picture

pb_ PictureButton

rb_ RadioButton

r_ Rectangle

rr_ RoundRectangle

sle_ SingleLineEdit

st_ StaticText

uo_ User Object

vsb_ VScrollBar

3、 变量命名:

---------------------------------------------------------------

1)、作用域命名

Prefix Scope

---------------------------------------------------------------

g_ Global

s_ Shared

i_ Instance

l_ Local

2)、变量类型前缀

Prefix Datatype

---------------------------------------------------------------

b_ Boolean

blob_ Blob

d_ Double

date_ Date

dec_ Decimal

dt_ DateTime

i_ Integer

l_ Long

s_ String

t_ Time

ui_ Undisgned Int

ul_ Undisgned Long

tr_ Transaction object

do_ Dragobject

dwc_ DataWindowChild

nvo_ NonVisulObject

4、 函数命名

Prefix Scope

---------------------------------------------------------------

gf_ Global Function

wf_ Window Function

mf_ Menu Function

uf_ UserObject Function

五、 程序注释要求

要求每个事件、函数、变量等都必须有注释。注释与代码的比例最少应达到1:3。

事件、函数代码开头注

释模版为:

/**********************************************************************************

功能:

参数:

返回:

作者:

创建: 1999.09.21

修改: 2000.09.21 **********************************************************************************/



//////////////////////////////////////////////////////////////////////////////

//

// Function: of_UpdateChecks

//

// Access: protected

//

// Arguments:

// apo_control[] The array of object for which the checks need to be

// performed.

//

// Returns: integer//

// 1 = updates were found

// 0 = No changes to update were found

// -1 = AcceptText error

// -2 = UpdatesPending error was encountered

// -3 = Validation error was encountered

//

// Description: Perform accepttext, updatestpending and validation on

// the objects.

//

//////////////////////////////////////////////////////////////////////////////

在每段程序的前方写明代码的作用、逻辑等。每个变量要求写出其功能。

六、 对象的命名及备注

每个对象备注中要有对象的功能及开发人。

我认为这样挺规范的:

一、变量规范

1、前缀

(1)、作用域

全局(Global): g

共享(Shared): s

实例(Instance): i

局部(Local): l

(2)、类型

b Boolean

blob Blob

d Double

num Number

date Date

dec Decimal

dt DateTime

i Integer

l Long

s String

t Time

ui Undisgned Int

ul Undisgned Long

tr Transaction Object

do DragObject

ds DataStore

dwc DataWindowChild

nvo NonVisulObject

tri TreeViewItem

lvi ListViewItem

2、格式

作用域 类型 _ 英文意义或缩写





首字母大写 首字母大写或全部大写(缩写)

注:不可随意定义或更改全局变量



二、PowerBuilder对象

1、窗口(Window)

w _子模块拼音码_功能或用途(英文意义)

2、数据窗口(DataWindow)

d_子模块拼音码_功能或用途(英文意义)

3、查询(Query)

q_子模块拼音码_功能或用途(英文意义)

4、数据管道(Pipeline)

p_子模块拼音码_功能或用途(英文意义)

5、函数(Function)

f_子模块拼音码_功能或用途(英文意义)

6、全局函数(Global Function)

gf_功能或用途(英文意义)

7、窗口函数(Window Function)

wf_功能或用途(英文意义)

8、菜单函数(Menu Function)

mf_功能或用途(英文意义)

9、用户自定义对象函数(User Object Function

)

uf_功能或用途(英文意义)

10、菜单(Menu)

m_子模块拼音码_功能或用途(英文意义)

11、结构(Structure)

stru_子模块拼音码_功能或用途(英文意义)

12、用户自定义对象(User Object)

u_子模块拼音码_功能或用途(英文意义)

13、控件(Controls)

cbx_ CheckBox

cb_ CommandButton

dw_ DataWindow

ddlb_ DropDownListBox

em_ EditMask

gr_ Graph

gb_ GroupBox

hsb_ HScrollBar

ln_ Line

lb_ ListBox

mle_ MultiLineEdit

ole_ OLE 2 0

ocx_ OCX

oval_ Oval

p_ Picture

pb_ PictureButton

rb_ RadioButton

r_ Rectangle

rr_ RoundRectangle

sle_ SingleLineEdit

st_ StaticText

uo_ User Object

vsb_ VscrollBar



特别说明:

系统固定按钮名称

Cb_Yes [是(&Y)]

Cb_No [否(&N)]

Cb_Ignore [忽略(&I)]

Cb_Retry [重试(&R)]

Cb_Abort [终止(&A)]

Cb_Ok [确定(&Y)]

Cb_Cancel [取消(&C)]

Cb_Return [返回(&R)]

Cb_Close [关闭(&X)]

Cb_Print [打印(&P)]

Cb_PrintPrev [打印预览(&V)]

Cb_Gen [生成(&G)]

Cb_Query [查询(&Q)]

Cb_Count [统计(&T)]

Cb_Add [添加(&A)]

Cb_Insert [插入(&I)]

Cb_Del [删除(&D)]

Cb_Modify [修改(&M)]

Cb_Save [保存(&S)]

Cb_Send [发送(&F)]

Cb_Audit [审核(&T)]

Cb_Abandon [作废(&Z)]

Cb_First [首条]或[9]Webdings字体

Cb_Next [后一条]或[8]Webdings字体

Cb_Prev [前一条]或[7]Webdings字体

Cb_End [末条]或[:]Webdings字体



三、PowerBuilder库文件

每个子模块包含有最多10个Pbl文件,其中有:

1、存放子模块所使用的PowerBuilder基本对象(窗口、菜单等):

子模块拼音码+序号(00 - 09).pbl -- 10个

2、存放子模块所使用的资源文件(Bmp、Ico、Cur、Ani文件)

子模块拼音码+R

es.pbl -- 1个



四、代码

Powerbuilder中的保留字首字大写

内嵌式SQL语句保留字全部大写



自定义函数注释格式:

名称:

功能:

参数:

逻辑:

适用:

编程:

创建: 2002.01.01

修改: 2002.02.01

版本: 1.0





在重要或复杂的逻辑代码前一行须加上注释,格式如下:

//注释内容 – 程序员姓名

……

代码


相关文档