PowerBuilder程序开发规范
- 格式:doc
- 大小:128.00 KB
- 文档页数:5
文档编号:IE–HIS组–PowerBuilder开发设计规范-V1.0PowerBuilder开发设计规范1关于本文档说明:版本-1.0、2.0、3.0。
每个版本后可加修改序号01、02。
;类型-创建(C)、修改(U)、删除(D)增加(A);2目录1.前言 (4)1.1编写目的 (4)1.2遵循标准 (4)1.3术语和缩写词 (4)1.4必要性 (4)2.编码规范 (5)2.1命名规范 (5)2.1.1系统命名约定 (5)2.1.2函数命名约定 (8)2.1.3控件命名约定 (8)2.1.4数据窗口命名约定 (13)2.2主体代码约束 (14)2.2.1常用语法 (14)2.2.2代码行数约定 (15)2.2.3注释 (15)2.2.4对象存放约定 (17)2.2.5引用与继承 (18)2.3DataWindow选项 (18)2.3.1数据写入约定 (18)2.3.2Update属性 (18)2.3.3界面元素 (18)2.3.4状态保护 (19)2.4PFC 编程 (20)32.4.1PFC结构 (20)框架层 (20)3.1框架层结构 (20)3.2常用事件及简码 (21)4.PowerBuilder编程技巧 (32)4.1DataWindow修改风格 (32)4.2DLL动态链接库开发 (32)4.3WebServices接口开发 (32)5.保持一致性 (33)1.前言1.1编写目的本规范适用基于PowerBuilder软件进行项目开发工作。
适用对象为开发编码人员、UI设计人员、模版编写人员、界面测试人员等。
1.2遵循标准[列出本项目的软件开发规范等。
]1.3术语和缩写词PFC PowerBuilder Foundation Class1.4必要性以标准的方式,提交技术协作的水平。
旨在改变以往反复修改、重复劳动、效率低下的现象。
降低开发周期,提高代码质量,提高工作效率。
42.编码规范2.1命名规范52013新版程序开始新增的系统从uk100向下顺延,模块命名以u_+‘模块编码’命名例:U_uk100012012版系统模块命名以u_uk+‘模块编码’命名系统变量命名约定例:U_ukum01016数据类型:a:anybb:blobb:booleanc:chard:datedt:datetimedec:decimaldb:doublei:integerl:longr:reals:stringt:timeui:unsignedintul:unsignedlong2.1.1.1全局变量全局变量长度不超过16位全局变量开始固定为小写“g”+数据类型+“_”,构成:“g”+数据类型+“_”+自定义名称(小写)如boolean gb_yesno2.1.1.2实例变量实例变量长度不超过16位实例变量开始固定为小写“i”+数据类型+“_”,构成:7“g”+数据类型+“_”+自定义名称(小写)如boolean ib_yesno2.1.1.3局部变量局部变量长度不超过16位实例变量开始固定为小写“l”+数据类型+“_”,构成:“l”+数据类型+“_”+自定义名称(小写)如boolean lb_yesno2.1.2函数命名约定2.1.2.1公用函数1.公用函数的命名规则为:“f_”+功能信息2.例如:f_getwindir,f_getpatientinformation2.1.2.2对象内函数1.“of_”+‘uk’+ 自定义名称(小写)2.1.2.3参数1.参数前面加上一个前辍字母“a”+数据类型+“_”+自定义名称(小写),根据该参数的目的来命名。
一、编程对象的分类以PowerBuilder作为前台开发工具,进行软件开发的过程中,所涉及的编程对象如表1-1所示。
表1-1 编程对象分类二、编程对象的组织使用PowerBuilder开发工具产生的对象,可以按照设计(正在编写和调试)和运行(调试、编译结束,可以接受测试和运行)中的状态进行编程对象的组织规划,重点是目录结构的划分,具体目录的相对关系如表1-2所示。
三、团队开发a.服从团队开发纪律和进度安排。
b.未经项目负责人或项目经理的许可,不允许擅自进行可能影响其他人员工作的任何工作,如添加Library,添加数据库表等;如有必要,必须提出书面申请,说明原因以及要改动的操作的详细说明,由项目管理人员统一进行操作和协调。
c.代码必须符合标准规范,项目负责人或者项目经理有权责成开发人员修改其不符合开发规范的代码。
d.代码集中存放到文件服务器的某一目录,客户机统一映射为固定盘符,确保程序在任何时候都是完整的可用版本而不是零散的代码集,不允许拷贝到本地硬盘进行开发。
e.当编写某些公用部件和代码时,必须使用Check out 功能确保代码独占使用而不能让其他人同时也修改,当修改完成的时候必须及时使用Check in 功能确保代码消除独占状态以使其他人能及时使用修改后的代码。
f.各人设置自己在团队中的User ID:Library->Source->Connect->选择[PB Native]->设置User ID,填写自己姓名的拼音缩写或者英文名。
4.版本说明a.软件版本号标准为A . B,其中A和B为0到99之间的数字。
b.当A大于1并且B为奇数时,表示当前版本为处于开发、测试阶段的版本,定义为“开发版”;当B为偶数时,表示当前版本为稳定的、可实际运行的版本,定义为“稳定版”。
c.当软件开始开发时,确定版本号为0.1;随着软件开发的进度,版本号随着每一次主要功能的完善而变化,最高达到0.99。
编程规范(PB)1简介1.1简介这个文档描述了用于编写稳定、可靠的PowerBuilder应用程序的一些标准、约定和准则。
他们基于合理的,经过证实的一些使代码容易理解、维护和增强的软件工程的原则。
另外,遵循这些标准,你作为一个PowerBuilder程序员的生产力将有一个显著的提高。
一些经验证明,花时间在项目的开始写出高质量的代码,可以使在后来的开发过程中容易修改它,从而事半功倍。
最后,遵循这一系列编码规范,可以使一个开发团队更好地保持一致性,最终必将极大地提高团队的生产力。
1.2最初的准则和最终的准则当你无法找到一些你需要的原则或准则时,或者它们很明显地不适用,或者其它的一些情况下,请使用常识,按照一些基本的原理去作。
这个原则凌驾于其他原则。
2命名规范2.1一般性约定1.使用英文或汉语拼音的全称去准确地描述各种对象、变量例如,ls_UserName (用户名) ,ldc_GrandTotal(总计)等等。
尽管x1,y1这样的名称很容易拼写,因为它们很短,但是他们不可能明确地提示名称的含义,将导致代码难以理解、维护和改进。
2.使用大小写混合的方式命名3.以合适的方式使用缩写例如ll_RownNmber,简写为ll_RowNum是可以理解的,但是li_ReturnCode简写为li_rc就不一定被别人看懂,所以应该以尽量保守的态度使用缩写,在更多的时候使用全称,或者建立常用缩写的对照表。
4.避免太长的名称,尽量限制在15个字母以内长名称虽然很容易懂,但特别长将导致拼写时经常出错。
5.不要在第一个字母和最后一个字母使用下划线6.保持命名的一致性。
相关的东西应给以相关的名字,以说明他们的关系和差异2.2具体约定2.2.1对象命名规范<前缀>_名称注:名称为英文,新建对象必须加注释(菜单对象可例外)。
一般情况下,菜单对象的名称与其所属窗口的名称一致。
例子:w_master , m_master , d_cig_cdu_tvs is the TreeView visual user objectu_dw is the DataWindow visual user objectn_cst_dwsrv is the custom class user object for DataWindow servicesn_tr is the transaction standard class user object and is in the extension level2.2.2变量范围命名规范<范围><数据类型>_变量名范围:对于标准数据类型:例子:as_unitcode 表示事件或函数的输入参数,string类型idc_val 表示实例变量,decimal 类型li_row 表示局部变量,integer 类型gd_firstday 表示全局变量,date类型对于常用参照数据类型(reference variables):例子:datastore lds_unitDataWindowChild ldwc_cigwindow lw_code注:1) 尽量避免使用全局变量。
PowerBuilder程序的开发规范一、命名规则(一)、系统对象的命名(二)、窗口控件命名(三)、变量命名说明:对于变量的命名规则中的X全局变量(GLOBAL V AR) X用g替换实例变量(INSTANCE V AR) X用i替换共享变量(SHARED V AR) X用s替换局部变量(LOCAL V AR) X用l替换例如:定义字符串变量(四)、其他命名(五)、系统固定按钮命名二、编码原则(一)、多用封装,少写代码新建对象时,首先想到的应当是“inherit(继承)”,而不是“new(新建)”! (二)、PBL文件规则1、PBL命名规则为以模块标识打头,再加功能说明字符。
如:wh_cyxx.pbl表示为维护模块中的成员信息业务处理功能。
2、每个PBL文件应不大于1.5MB,当文件过大时,需再进行划分,以提高系统运行效率。
3、每个子模块包含有最多10个Pbl文件,其中有:(a)、存放子模块所使用的PowerBuilder基本对象(窗口、菜单等):子模块拼音码+序号(00 -09).pbl共10个。
(b)、存放子模块所使用的资源文件(Bmp、Ico、Cur等文件):子模块拼音码+Res.pbl共1个。
(三)、要有良好的代码书写风格1、程序要有良好的缩进格式。
如下例:If condition Thensomething to doEnd If2、每个关键字头字母大写,相应位置有一TAB符的缩进。
3、Powerbuilder中的保留字首字大写。
4、内嵌式SQL语句保留字全部大写。
三、程序注释要求1、要求每个事件、函数、变量等都必须有注释。
注释与代码的比例最少应达到1:3。
2、注释工具可使用PBComment6.0版本。
事件、函数代码开头注释模版如下例://==================================================================== // 事件: open::w_temp()//--------------------------------------------------------------------// 功能描述://--------------------------------------------------------------------// 参数:(无)//--------------------------------------------------------------------// 返回值: long//--------------------------------------------------------------------// 编辑: 沈国强日期: 2007.03.01 时间: 15:12:54//--------------------------------------------------------------------// 修改记录:////--------------------------------------------------------------------// 杭州朗通信息技术有限公司//====================================================================//==================================================================== // 函数: gf_test()//--------------------------------------------------------------------// 功能描述: 测试函数//--------------------------------------------------------------------// 参数:// value integer ai_type 类型//--------------------------------------------------------------------// 返回值: integer//--------------------------------------------------------------------// 编辑: 沈国强日期: 2007.03.01 时间: 15:14:55//--------------------------------------------------------------------// 修改记录:////--------------------------------------------------------------------// 杭州朗通信息技术有限公司//==================================================================== 3、在每段程序的前方写明代码的作用、逻辑等。
powerbuilder教程
PowerBuilder是一种用于开发客户端/服务器和Web应用程序
的集成开发环境(IDE)。
它具有易于使用的可视化设计工具
和强大的开发功能,适用于数据库应用程序的快速开发和维护。
PowerBuilder的开发过程主要包含以下几个步骤:
1. 创建新的应用程序:在PowerBuilder中,可以选择新建应
用程序,然后配置数据库连接等信息。
2. 创建数据窗口:数据窗口是PowerBuilder中最重要的界面
元素之一,用于显示数据库中的数据。
可以通过拖放方式将数据库表或查询结果添加到数据窗口中,然后设计数据窗口的布局和样式。
3. 编写业务逻辑:可以使用PowerScript编程语言来编写数据
窗口和应用程序的逻辑。
PowerScript是一种类似于其他编程
语言的脚本语言,可以用于处理用户交互、数据库操作、错误处理等。
4. 调试和测试:在开发过程中,可以使用PowerBuilder提供
的调试工具来调试和测试应用程序。
可以设置断点、监视变量的值,并逐步执行代码以检查程序的运行情况。
5. 部署和发布:完成开发和测试后,可以将应用程序部署到目标环境中。
PowerBuilder支持将应用程序打包成可执行文件或
安装程序,以便用户在其计算机上安装和运行应用程序。
总之,通过PowerBuilder的可视化设计工具和强大的开发功能,开发人员可以快速构建数据库应用程序,并实现复杂的业务逻辑。
它是一种非常适合开发数据驱动应用程序的开发工具。
powerbuilder编程简单⼊门(个⼈总结)⼀种简单的powerbuilder10数据库编程介绍1、需求分析与数据库建⽴进⾏需求分析(需求分析⽂档),确定数据关系,建⽴各种数据表,建⽴数据库(Access),设置ODBC数据源(控制⾯板->管理⼯具->数据源ODBC->“⽤户DSN”菜单下点“添加” 选相应的数据源驱动程序,如果⽤Access2003建⽴的,则选第三项“Driver do Microsoft Access(*.mdb),然后点击“完成”->输⼊数据源名,如mydata,然后点击“选择”按钮选择建好的数据库,最后点“确定”,如下图所⽰)2、界⾯设计(功能界⾯、重要数据表维护界⾯)界⾯设计主要分为⼏个部分(1)按照管理系统所需的功能设计界⾯。
⾸先画出所有可能的业务流程(数据的各种可能输⼊、修改、删除业务,数据的输出、显⽰业务)(2)按照需要维护的表设计界⾯(往往给最⾼权限管理员直接修改数据⽤)3、开始程序编写(1) 新建⼀个workspace(new->workspace->workspace)(2) 在workspace下建⽴⼀个⽬标(new->Target->application),可取名frame(3) 在⽬标下建⼀个主窗⼝可取名w_main,窗体名⼀般以w_开头(new->PB Object->Window),将其Window Type 设为“mdihelp!”(4) 为主窗⼝建⼀个主菜单可取名m_frame,菜单名⼀般以m_开头(new->PB Object->Menu)(5) 程序中设置ODB ODBC点击按钮,选中“ODB ODBC”项,然后单击右边“New”按钮,弹出如下对话框,设置Profile Name和Data Source,如图所⽰。
(6) 建⽴配置⽂件配置⽂件取名“config.ini”,内容如下:[MyDB]DBMS=ODBCAutoCommit=FalseDBParm=ConnectString='DSN=mydata;UID=;PWD='(7) ⾃动连接数据库与退出程序关闭数据库的编写⾸先建⽴Global Variables如下:string gs_userid,gs_username //登录⽤户标识、⽤户姓名string gs_root_path,gs_ini_path //应⽤路径和主配置⽂件路径其次申明Global External Functions如下:FUNCTION int GetComputerNameA(ref string computername,ref long size) LIBRARY "KERNEL32.DLL" alias for "GetComputerNameA;Ansi"FUNCTION long GetCurrentDirectoryA( long nBufferLength, REF string szBuffer ) LIBRARY "KERNEL32.DLL" alias for "GetCurrentDirectoryA;Ansi"FUNCTION long SetCurrentDirectoryA( string szPathName ) LIBRARY "KERNEL32.DLL" alias for "SetCurrentDirectoryA;Ansi"//end prototypes在程序的总⼊⼝(进⼊“”)Open事件中写⼊以下代码:// Profile moneyandfriendsstring ls_1//设置应⽤根⽬录gs_root_path = space(255)GetCurrentDirectoryA( 255, gs_root_path )if right(gs_root_path,1) = '\' thengs_root_path = left(gs_root_path,len(gs_root_path) - 1)end if//设置配置⽂件路径gs_ini_path = gs_root_path + "\config.ini"IF not FileExists ( gs_ini_path ) THENMessageBox( "找不到配置⽂件"+gs_ini_path,"系统配置错误",stopsign!,ok! ) RETURNEND IF//SetProfileString(gs_ini_path,'DBMS','ls_1=ProfileString(gs_ini_path,'MyDB','DBMS','ODBC')SQLCA.DBMS =ls_1SQLCA.AutoCommit = Falsels_1=ProfileString(gs_ini_path,'MyDB','DBParm','error')SQLCA.DBParm = ls_1connect using sqlca;open(w_main) //打开主界⾯在Close事件中加⼊如下代码:disCONNECT USING sqlca;(8) 建⽴新的具体功能窗体(如w_zichuangti)8.1 设置窗体BackColor为“Cream”,输⼊窗体Title;要在1024*768分辨率下基本满屏,窗体⼤⼩可设置为“4645*2748”8.2在新窗体上⼀般⽤GroupBox来划分功能区域,设置该控件的字体为“宋体”,⼤⼩为“10”,背景颜⾊为“Cream”8.3⽤静态⽂本做功能说明或指⽰,⼀般加⿊,宋体9号字⽰例程序界⾯如下:(9) 响应菜单click事件弹出⼦窗⼝(相同⼦窗⼝只弹出⼀次待研究)在菜单下编写代码打开窗体(双击菜单即可在Click事件下编写),简单代码如下://选择菜单时调出⼦窗体window lwopensheet(lw,'w_ zichuangti',parentwindow,0,Cascaded! )lw.WindowState = Maximized!(10) 相同的⼦窗⼝只让弹出⼀次(代研究)(10) 建⽴数据窗⼝(11) 添加新的pbl⽂件⼀般要⽤不同的pbl⽂件分类存储不同窗体、数据窗⼝和菜单等资源;建⽴新的pbl⽂件的⽅法如下:点击⼯具栏上“Library”按钮,然后在弹出⼦窗⼝中进⼊程序所在⽂件夹,在⼯具栏左下有“”创建pbl的按钮。
PowerBuilder程序开发规范一、系统对象的命名
二、窗口控件命名
三、变量命名
说明:对于变量的命名规则中的x
四、其他命名
五、程序注释要求
要求每个事件、函数、变量等都必须有注释。
注释与代码的比例最少应达到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.
//
///////////////////////////////////////////////////////////////////// 六、对象的命名及备注
每个对象备注中要有对象的功能及开发人。
七、系统固定按钮名称参考。