编程规范(pb)

上传人:xins****2008 文档编号:103271498 上传时间:2019-10-06 格式:DOC 页数:14 大小:91KB
返回 下载 相关 举报
编程规范(pb)_第1页
第1页 / 共14页
编程规范(pb)_第2页
第2页 / 共14页
编程规范(pb)_第3页
第3页 / 共14页
编程规范(pb)_第4页
第4页 / 共14页
编程规范(pb)_第5页
第5页 / 共14页
点击查看更多>>
资源描述

《编程规范(pb)》由会员分享,可在线阅读,更多相关《编程规范(pb)(14页珍藏版)》请在金锄头文库上搜索。

1、编程规范(PB)1 简介1.1 简介这个文档描述了用于编写稳定、可靠的PowerBuilder应用程序的一些标准、约定和准则。 他们基于合理的,经过证实的一些使代码容易理解、 维护和增强的软件工程的原则。另外,遵循这些标准,你作为一个PowerBuilder程序员的生产力将有一个显著的提高。一些经验证明,花时间在项目的开始写出高质量的代码,可以使在后来的开发过程中容易修改它,从而事半功倍。最后,遵循这一系列编码规范,可以使一个开发团队更好地保持一致性,最终必将极大地提高团队的生产力。1.2 最初的准则和最终的准则当你无法找到一些你需要的原则或准则时,或者它们很明显地不适用,或者其它的一些情况下

2、,请使用常识,按照一些基本的原理去作。这个原则凌驾于其他原则。2 命名规范2.1 一般性约定1.使用英文或汉语拼音的全称去准确地描述各种对象、变量 例如,ls_UserName (用户名) ,ldc_GrandTotal(总计)等等。尽管x1,y1这样的名称很容易拼写,因为它们很短,但是他们不可能明确地提示名称的含义,将导致代码难以理解、维护和改进。2.使用大小写混合的方式命名3.以合适的方式使用缩写 例如ll_RownNmber,简写为ll_RowNum是可以理解的,但是li_ReturnCode简写为li_rc就不一定被别人看懂,所以应该以尽量保守的态度使用缩写,在更多的时候使用全称,或者

3、建立常用缩写的对照表。4.避免太长的名称,尽量限制在15个字母以内 长名称虽然很容易懂,但特别长将导致拼写时经常出错。5.不要在第一个字母和最后一个字母使用下划线6.保持命名的一致性。相关的东西应给以相关的名字,以说明他们的关系和差异2.2 具体约定2.2.1 对象命名规范_名称前缀说明m菜单(Menu)n标准用户对象(Standard class user object)n_cst定制用户对象(Custom class user object)u可视用户对象(Visual user object)d数据窗口(Datawindow)w窗口(Window)s全局结构(Global structu

4、re)注:名称为英文,新建对象必须加注释(菜单对象可例外)。一般情况下,菜单对象的名称与其所属窗口的名称一致。例子:w_master , m_master , d_cig_cdu_tvs is the TreeView visual user object u_dw is the DataWindow visual user object n_cst_dwsrv is the custom class user object for DataWindow services n_tr is the transaction standard class user object and is in

5、the extension level2.2.2 变量范围命名规范_变量名范围:范围说明a事件或函数的参数(Argument to an event or function)g全局变量(Global variable)i实例变量(Instance variable)l局部变量(Local variable)s共享变量(Shared variable)对于标准数据类型: 数据类型说明aAnyblbBlobbBooleanchCharacterdDatedtDateTimedcDecimaldblDoubleeEnumeratediIntegerlLongrRealsStringtmTimeuiU

6、nsignedIntegerulUnsignedLong例子: as_unitcode 表示事件或函数的输入参数,string类型 idc_val 表示实例变量,decimal 类型 li_row 表示局部变量,integer 类型 gd_firstday 表示全局变量,date类型对于常用参照数据类型(reference variables): 数据类型说明dsDataStoredwDataWindowdwcDataWindowChilddwoDwobjectlviListViewItemmmMailMessagemrMailRecipientmsMailSessionstrStructur

7、etrTransactiontvTreeViewtviTreeViewItemwWindow例子: datastorelds_unit DataWindowChildldwc_cig windowlw_code注:1) 尽量避免使用全局变量。2) 全局变量和实例变量必须加注释(说明该变量在何处设置和使用);重要的局部变量加注释4)全局变量使用具有说明性(名字足够长)的名字,局部变量用短名字5)按常规方式使用的局部变量可以采用极短的名字。例如:用i、j作为循环变量例如:在window的open()事件中对统计日期id_date赋值,在dw_unit.itemchanged()和cb_ok.cli

8、cked()中使用,则定义如下/Set: open/Use: dw_unit.itemchanged, cb_ok.clickedDateid_date /统计日期2.2.3 函数命名规范_ FunctionName前缀说明wf窗口函数of对象函数f全局函数例子:wf_GetTime, of_ GetTime, f_ GetTime注:不使用全局函数(使用用户对象封装);函数名采用动作性的名字,后面可以跟着名词2.2.4 窗口中控件命名规范_名称前缀参照PowerBuilder的缺省规定对于下拉数据窗口,使用如下命名方式:d_dddw_ + name另外,如果同类控件在窗口中出现两次以上,名称

9、必须为英文,不能是数字。例如:在同一窗口中有两个CommandButton,不能命名为cb_1和cb_2,,必须是有意义的名称,如cb_ok和cb_cancel。2.2.5 数据库对象命名规范数据库对象包括表、视图、触发器及存储过程等库名: 英文前三个字母表命名: 小写,应尽量用英文,也可用拼音,视情况而定;表名前加比较短小的业务名称,推荐用两位汉语拼音简写 (例如,储运,cy) ;主从表的命名,主表名_s;_s1;_s2;代码表后面加_cd;表名尽量短小精焊视图命名:v_名称,名称为表名或主要表名触发器命名:ti_表名 (insert trigger)td_表名 (delete trigge

10、r)tu_表名 (update trigger)tui_表名,tud_表名,tid_表名,tuid_表名 (复合 trigger)存储过程:sp_名称列名: 小写,连接符使用下划线;字符型尽量用varchar,尽量加长。常用列名或列名后缀:代码:_cd;无意义:_id;名称:_nm;金额:_mny;数量:_qty;日期:_dt;标志:_mark;人:_er或_or;类型:_tp;审核人:verifier;部门:_dept;编号:_no;计量单位:jldw;大小:sz;重量:wg;备注:rem;率:_rate;制单人:maker;时间:_tm;开始时间:start_dt;结束时间:end_dt;

11、批号:bat_no;周期:cycle3 表达式和语句1. 使用缩行显示程序的结构。采用一种一致的缩行风格,是使程序呈现出结构清晰的最省力的方法2. 使用表达式的自然形式。例如:IF (Not (ldc_BlockId = ldc_ActBlks) Then在上面的语句中两个测试都用到了否定,而他们是不必要的,应该改变关系运算符的方向,是测试变成肯定的:IF (ldc_BlockId = ldc_ActBlks) Or (ldc_BlockId ldc_ActBlks) Then 3. 用加括号的方式排出二义性。括号表示分组,即使有时并不必要,加了括号也可能把意图表示的更清楚,上面的例子中,内层

12、括号就不是必须的。4. 分解复杂的表达式。5. 当心副作用。像 + 这一类的运算符具有副作用,它们除了返回一个之外,还将隐含地改变变量的值。4 界面设计4.1 一般性约定界面设计是软件设计中很重要的一部分,一些优秀的系统大都拥有优秀的界面设计,一些大公司的界面设计往往精确到像素。但是,很多人对优秀界面的理解就是“漂亮”甚至说“花哨”,而忽视了更重要的东西,这就有些不妥了。那么一个优秀的设计应该具有什么样的特征呢? 1、功能性 界面设计必须符合功能的需要,这个是最重要的,界面是用户使用系统的途径,优秀的界面必须与功能的需求相统一。应该重点突出,结构清晰,布局具有整体感。用类似winamp的用户界

13、面来处理数据应用的界面,就有点不伦不类了。 2、导航 优秀的界面应该给用户舒适的导航,用户可以很容易找到相应的功能,或者可以引导用户正确的操作,避免错误。重点的元素放在醒目的地方。 3、友好 尽量不要出现用户看不明白的提示、专业术语或错误信息。 4、操作性 一个优秀的界面设计,必须具有良好的操作性,符合大多数人的操作习惯,对于特殊应用,可快速操作也很重要。 5、时尚性 密切注意流行界面的发展方向,当然也不是盲目跟从。比如win98时代就不要再开发win32风格的界面了。 那么开发时应注意什么呢?1、整个系统应该风格统一,不要前后矛盾,比如前一个窗口中红色代表错误,在接下来的提示中又用红色来表示

14、重要信息。 2、不要使用让用户产生歧义的图标、图形或文字,比如有人在退出按钮上写上“逃离”,又如,保存按钮写“就这样吧”等等。3、尽量不要使用activeskin之类的换肤软件,其一这些皮肤其实并不美观,其二增加了系统出错机会,加大系统开发复杂度。 4、合理的结构设计,可能的情况下,将界面设计与业务逻辑独立开来,尽量不要将业务逻辑写到界面之中,比如有人在“确定”按钮里写了几百行的代码,所有功能都在里面了。 5、导航深度不要超过3层,有的设计往往要好几级菜单下才能找到相应的功能。还有的功能必须要层层打开n个窗口后,才在一个角落里发现打开它的按钮。6、不要使用太扎眼的元素,比如颜色,线条等。例如一个使用亮绿色的提示窗口会让用户睁不开眼睛 7、窗口元素布局要整齐划一,比如即使用不了那么长的文本框,也要使它与上面的文本框一样长 8、不要在界面上出现可有可无的东西,有人用了一半的窗口面积描述这个窗口各个按钮的使用方法,此举纯属画蛇添足,因为一个熟练的用户闭着眼睛都知道下一步该按哪个键,当然面向大众的软件例外。 。4.2 具体约定1、 界面(包括Window和DataWindow)应在800*600分辨率下设计(同时应支持其它分辨率);整个系统一般使用

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 大杂烩/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号