全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
5军卫号PowerBuilder 环境开发规范PowerBuilder 环境开发规范目录1. 对象和控制命名规范2. 编程风格3. 数据校验4. 环境配置与应用的可移植性5. 事件驱动6. 面向对象7. 数据库访问规范8. 数据及处理分布9. 出错处理10. 安装及设置1. 对象和控制命名规范对象和控制的名字都由前缀加名字构成。不同对象和控制的前缀名称使用PowerBuilder的默认值,如下表所示:对象或控制前缀Windoww_Menum_UserObjectuo_DataWindowd_DataWindow Controldw_SingleLineEditsle_MultiLineEditmle_CommandButtoncb_EditMaskem_CheckBoxcbx_ListBoxlb_RadioButtonrb_DropDownListBoxddlb_Picturep_Graphgr_OLEole_Global Functiongf_Window Functionwf_User Object Functionuf_用户事件的命名前缀使用ue_。名字的其他部分必须使用能反映对象功能的单词,以有利于程序的阅读。如:一个功能为“关闭”的按钮,其名字为cb_close。不能使用序号来标识Window中同类控制。如cb_1,cb_2等。变量名不要使用拼音缩写,其名字从英文字面上应尽可能反映其用途。DataWindow的定义中,计算字段必须显式命名,不能使用诸如“compute_001”之类含糊不清的缺省命名。2. 编程风格程序中必须进行注解。注释使用中文。一行只定义一个变量,每个变量后面必须注释其用途。每个较为独立的程序段落用空行分隔,段落前用注解说明该段程序的功能。关键语句要注解。程序中的保留字用大写,对象名称用小写。Script程序中的SQL语句保留字用大写。Script语句在不同的层次上采用缩进格式,每层缩进一个TAB位置。3. 数据校验应用系统必须对用户录入的数据进行校验以确保数据的质量。在PowerBuilder应用程序中,有三处进行数据校验的时机或三个校验层次:字段编辑时、整个记录录入时、写入数据库时。前两种校验由应用程序实现,写入数据库时的校验完全取决于数据库中定义的校验规则,由数据库管理系统本身实现。为了对用户友好、减轻对数据库定义的依赖,应用程序必须依靠自身实现数据的校验,而不得将未校验的数据直接提交数据库系统。字段编辑一般完成相对简单的取值范围校验,并且一般不与其他字段进行相关校验。字段校验的功能应避免出现由于其他字段的错误,导致不能正常离开当前字段的情况。进行字段校验的方法有:使用特定的控制保证用户只输入合法值,如复选框、下拉列表等;使用编辑屏蔽(MASK);使用校验规则;使用自编的校验函数(对于相对复杂的情形)。在整个记录的字段录入完毕,用户发出写入数据库的指令时,可以通过Script程序进行相对复杂的校验,如字段之间的相关性检查、非空检查、与其他数据的相关性检查等。在字段编辑状态下,一般不要使用非空限制,以避免用户不能将光标随意地在字段间移动。将这一限制留待记录录入时检查。4. 环境配置与应用的可移植性为了对不同安装运行环境的适应以及各项功能的剪裁,应用程序应使用配置文件记录各种参数及选项。配置文件的格式遵守Windows应用的标准配置文件格式,即INI文件。文件包含多个节(Section),每节由一组相关的配置参数组成,每节有一个包含在方括号中的节名;每个配置参数由一个关键词(Key)后跟一个等号及参数值组成。配置文件名一般应与应用程序的名字相同。凡是需要连接数据库的应用,在INI文件中必须有一个database节,以描述数据库的连接参数。该节包含的参数与Powerbuilder中规定的向数据库连接的参数相同,但在dbparm参数中的connectstring中不能包含pwd选项。应用程序应可以安装到任意用户指定的路径下,程序操作中不得使用具体的绝对路径。配置文件与执行程序本身放入同一路径下,可以将所安装的路径记载到配置文件中。程序中可以约定在安装路径下建立自己的相对目录。应用程序必须能方便地移植到不同的单位运行。在程序中引用的项目代码或名称,可以分为本系统定义和由用户定义两种情况。由本系统定义的项目,可以在程序代码中固定引用,如写入列表框中;由用户定义的项目则不能直接出现在程序中。5. 事件驱动在Windows事件驱动的运行模式下,靠事件激活和调度不同的程序片段运行。在PB编程中应充分利用事件将程序划分作不同的功能片段,以利于代码的共享。在编程中应以一个功能保持一个入口和一个出口的原则来划分程序、选择触发该功能的事件。如:关闭一个窗口可能有多个途径,有关关闭窗口时的操作应在窗口的close事件中完成,这样既防止入口遗漏,又提高了代码重用度。要掌握不同事件的触发时机,合理地选择事件。如数据校验时机的掌握。注意同步触发(triggerevent)与异步触发(postevent)的不同,区分哪些功能是要在当前事件处理完毕后执行的,哪些是与当前事件处理同时执行的,正确使用事件队列。为了一个功能保持一个入口,鼓励使用用户自定义事件。6. 面向对象PB是面向对象的开发工具,鼓励在开发中遵守面向对象的开发方法。无论是从面向应用的角度,还是便于编程的角度,只要是具有重用意义的,应确立为一个对象。一个对象可以是一个Window、DataWindow、Function等。尽可能地从原有对象继承生成一个新对象。在开发一个对象时,要从界面外观、功能设置等方面考虑将相对通用的功能放入该对象中,而将特殊的功能放入从该对象继承得到的子对象中。在开发一个数据录入或查询窗口时,应将该窗口提供的操作功能放在窗口事件中实现,而不要放在命令按钮中实现。如插入(Insert)、提取(Retrieve)、打印(Print)等。注意保持对象的封装特性。一个对象的功能实现尽可能与外部环境无关,如与全局变量、数据库事务等。尽量不要在一个对象的外部直接操作对象内部的部件,如从外部直接操作一个 Window 下的控制。窗口间的数据传递以参数方式进行。对于需传递多个参数的情况,可以定义一个结构。7. 数据库访问规范为了实现与数据库的物理分布无关,无论是在DataWindow中还是在程序的SQL语句中,对数据库对象(如表、字段)的引用均不得指定拥有者,而由数据库管理系统将不同拥有者的表映射为不同用户使用的表。将来拥有者或物理位置变更时,由DBA作出调整,无须修改程序。为了使应用程序尽可能不受数据库结构变化的影响,在INSERT语句中,必须明确指定插入字段的列表,即使是在VALUES子句中包含所有字段时也必须如此。在客户服务器模式下,用户操作的数据被提取到客户端。在用户操作期间,后台的数据有发生变化的可能。如果从应用的角度,一个用户操作的数据从客观上不会被其他用户修改,为了减少数据库的开销,可以不对提取的数据加锁;反之,必须考虑数据的互斥访问(加锁)。需要控制时,或者在定义DataWindow的SELECT语句中,使用FOR UPDATE子句解决,或者在更新数据库时判断原数据是否已修改。注意事务的划分,数据库的操作必须适时提交。逻辑上相关的操作必须放入一个事务中,逻辑上不相关的操作一定不能放入一个事务中。当一个应用中同时打开多个窗口时,在PB中必须注意不同的窗口中的操作是否属于同一个事务。若属不同的事务,应使用不同的transaction object。每次数据库操作,必须在程序中判断操作的返回状态码,以进行出错处理。为了增强程序对数据库的适应性,程序判断数据库错误时,应判断事务对象与具体数据库系统无关的sqlcode属性。当发现错误,需要显示错误原因时,可以使用事务对象中与数据库系统相关的sqldbcode属性。访问数据库时,使用的用户名和口令不能存放在配置文件中,而应在连接数据库时,由用户提供口令。8. 数据及处理分布在客户服务器模式下,考虑数据处理的分布时,必须从系统的整体性能出发,在后台性能、前台性能、网络流量三者之间作出合理的折衷,各取所长。要特别注意同一个程序被多个用户同时运行时服务器的处理负担,注意减少网络流量,注意减少数据分布后带来的管理上的麻烦。为了编程上的方便,客户端尽量不运行数据库管理系统。依据上述原则,对于不变的编码字典或较少变化的编码字典,放在客户端;对于经常变化的数据放在后台。放在客户端的数据以辅助用户录入为目的,数据以TXT文件的形式存放。凡是在前台存放的有可能变化的数据,必须在程序中提供自动从后台更新的功能。在DataWindow定义中,对由数据库表中原始字段派生出来的计算字段,应将计算在前端完成。这有利于原始字段与派生字段内容的一致。为了减少应用程序中数据库的操作次数,在PB中可以将在后台存放的编码字典等数据装入下拉数据窗口中(DropDownDataWindow)。为了避免对这些下拉数据窗口中数据的反复提取,凡是引用这些数据的窗口,如果在运行过程中,用户需要反复打开关闭窗口,或者同样的数据在不同的窗口中引用时,可以在应用的开始将这些数据一次性从后台提取,存入一个不可见窗口的各下拉数据窗口中,其他需引用这些数据的地方共享这些下拉数据窗口。尽可能通过共享数据窗口,减少不同DataWindow对同样数据的反复提取。如打印和屏幕显示使用了两个DataWindow的情况,同一数据不同显示格式的情况等。9. 出错处理应用程序必须对发生的数据库错误、数据校验错误、系统错误进行处理。对数据校验错误,程序应明确地告诉用户出错的位置及错误的原因。对数据库操作错误,程序中应明确判断并处理常见的如记录没找到、重复索引等错误,对其他难以预知的错误,程序可以显
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 全员安全培训报道课件
- 医患关系实训报告范例
- 美工岗位就业前景分析
- 全县食品安全培训班课件
- 启程动员演讲术
- 电气工程就业方向与前景分析
- 人间清欢面试话术模板
- AI安防解决方案
- 光电抗衰培训课件
- 口才销售技巧
- 激光熔覆应用介绍
- 中国仓储物流中心运营管理现状与发展趋势研究报告
- 电除颤临床操作规范指南样本
- 教学《近似数》数学课件教案
- 2025年西昌市邛海泸山风景名胜区管理局招聘5名执法协勤人员备考题库完整参考答案详解
- 2025年中共湛江市委巡察服务保障中心、湛江市清风苑管理中心公开招聘事业编制工作人员8人备考题库完整参考答案详解
- 2025年乡镇卫生院党风廉政建设自查报告
- 2025年产业融合发展与区域经济一体化进程研究可行性研究报告
- 医保科工作流程管理标准化方案
- 2025呼伦贝尔莫旗消防救援大队招聘消防文员(公共基础知识)综合能力测试题附答案解析
- 《国家赔偿法》期末终结性考试(占总成绩50%)-国开(ZJ)-参考资料
评论
0/150
提交评论