PB命名规则及软件开发规范

 

 

PB命名规则及软件开发规范

软件的编写、维护和测试都是由多人协同完成的,这样在工作中就需要一些约定和规范来协调工作人员的工作。PB虽然吸收了很多RAD工具的优点,但工具只是设施、基础,还需要优秀的方法指导。这就需要我们制定软件书写标准以规范我们的程序开发。使程序具有很好的可读性、可维护性。

下面就pbl库划分、命名规范、注释规范、代码格式规范及界面规范进行约定。

一、应用程序pbl组成(假设应用名为app)

我们将对象进行分门别类存放,以便于查找和管理

1、 share.pbl:存放应用、菜单、公用函数、公用结构。或者命名为public.pbl 。

2、 app_win.pbl:存放窗口。

3、 app_dat.pbl:存放数据窗口对象。

4、 control.pbl:存放公用的用户对象(这些对象可以直接移植到其他的项目中使用)。

注:鉴于目前我们PB开发系统状况——【窗口】、【数据窗口对象】都比较多,第2点,3点规范不采纳,我们将对【窗口】、【数据窗口对象】都按系统大菜单的功能来命名pbl并存放在一起。

二、应用程序中对象命名规范

1、 窗口命名规范

窗口的名字以w_开头,后面加以描述其功能的英文单词。如w_label表示此窗口为标引窗口。如果A窗口为B窗口(w_label)的弹出窗口,则A窗口应命名为w_label_pop(pop为弹出窗口功能的英文名称)。(注:不做强制要求,直接w_模块功能名 也可以)

2、 数据窗口对象命名规范

数据窗口对象以d_开头,后面加上作为其数据源的表名。如以表stv_class为数据源建立的数据窗口对象应命名为d_stv_class。如果对d_stv_class进行了修改,如更改其显示风格、增加计算字段或检索参数等,则将其命名为d_winname_label(winname为窗口名,label功能名)。

注:对【数据窗口对象】再详细说明一下,按其功能作用再分命名方式。

报表:                         d_模块功能名

子报表:                      dwc_模块功能名

查找条件datawindow:    dwf_模块功能名

Windows窗口里:          dw_模块功能名

Datastore对象:           ds_模块功能名

下拉列表框datawindow:dddw_模块功能名

 

3、 变量命名规范

全局变量命名:以gt_开头,其中t表示数据类型的第一个英文字母,后缀为变量功能名。

依次类推实例变量以it_开头,局部变量以lt_开头。

例如:存储xml文件ip地址的全局变量可定义为:string gs_xmlip。

      存储窗口中ddlb当前选择的索引的实例变量可定义为 integer ii_index

   在dw_1:clicked!中存储dw_1行数的变量可定义为 long ll_rownum

注:对于功能意义不大,如做循环用的临时变量 i, j 等可以直接定义不做额外要求。

4、 函数命名规范

全局函数以gf_开头,后缀为能表示其功能的英文名称,如gf_connectdb表示连接数据库的全局函数。

窗口函数以wf_开头,后缀为能表示其功能的英文名称,如wf_insertlb表示往listbox中添加数据。

用户对象中的函数以of_开头,后缀为能表示其功能的英文名称,如

of_expandchild表示扩展子节点。

鉴于目前我们PB开发系统状况——基本上用户对象中的函数都以ue_开头,所有此处我们用ue_开头。

5、 用户对象命名规范

用户对象以uo_开头,后面加其功能名,如uo_treeview示此对象具有树的功能,是通用对象的命名规则。如果对uo_treeview进行特定功能的扩展,则在其后加上应用的名称,如uo_treeview_app。

如果窗口中的控件是继承可视化的用户对象,则在此控件的property的tag

中应注明其父类的名字。

6、 菜单命名规范

菜单名称以m_开头,后缀为其所挂靠的窗口名称。如挂靠w_main窗口(mdi)

的菜单名为m_main。

7、 结构命名规范

结构名以str_开头,后缀为其功能名。

8、控件的命名规范

窗口上控件的命名以PB提供的缺省前缀为前缀,后缀为此控件的功能名称。

三、注释

1、 窗口注释

在窗口的注释中说明窗口的实现的主要功能。

2、 数据窗口对象注释

在数据窗口对象的注释中说明其主要功能及所应用的窗口名称。

3、 程序注释

在程序中说明代码块实现的主要功能。

例如:

//如果当前的行号无意义,则退出

if row<0  then

return

end if

注:对于不少人用 { if row < then  return  } 这种简略试写法,我们不提倡。这种漏写{ end if } 写法,对于多个 { if块 } 时不易阅读和调试,所以尽量避免。

4、 变量注释

对于全局变量和实例变量要注释说明其所要存储对象的意义。

例如:

String gs_xmlip   //用于存储xml文件的ip地址

5、 函数、事件注释

在函数和事件的开始都要写上其所完成的功能,对于函数来说如果有参数的则要对参数进行说明。

例如:

事件注释:

//====================================================================

// 事件: .()

//--------------------------------------------------------------------

// 描述:

//--------------------------------------------------------------------

// 参数:

//--------------------------------------------------------------------

// 返回:  (none)

//--------------------------------------------------------------------

// 作者:  limin                   日期: 2010年11月29日

//====================================================================

 

函数注释:

//====================================================================

// 函数: .()

//--------------------------------------------------------------------

// 描述:

//--------------------------------------------------------------------

// 参数:

//--------------------------------------------------------------------

// 返回:  (none)

//--------------------------------------------------------------------

// 作者:  limin                   日期: 2010年11月29日

//====================================================================

 

6、 日常修改注释:

         //====================================================================

// 修改:

//--------------------------------------------------------------------

// 作者:  limin                   日期: 2010年11月29日

//====================================================================

        

注:为节省代码空间,当然也不一定要求日常修改注释要多行,也可以只写一行注释语句。但是要求必须包括三部门:【修改人】、【修改日期】、【修改内容】。修改其他同事的代码时,原代码内容尽量保留并注释掉。

对于大块功能代码可以用 { // begin 功能名  } 和 { //end 功能名}

例如:

                 // begin 功能名

                 ……….

                 ……….      

                 //end 功能名

 

四、代码格式规范

代码格式规范包括代码对齐,代码布局。

1、 根据功能或功能完成步骤将脚本用空行分隔成段。

例如:

dw_1.settransobject( sqlca)

dw_1.retrieve( )

insert_ddlb()

insert_lb()

2、 条件或循环语句中的代码要缩进。

例如:

if li_label=3 then

   gb_2.text="未审校"

end if

3、 代码缩进一律使用tab键。默认tab值为3个空格

4、 变量全部用小写。

五、界面规范

1、窗口、菜单、控件的布局和风格要统一,控件布局要准确

  窗口中的控件文字包括字体、颜色、大小、字体大小、字体粗细、背景颜色要一致,同一应用中的窗口和控件采用一种风格,而且在不同窗口中,功能相近的按钮最好设置在同样的位置。按钮控件需要进行细致布局,作到大小相等、行列对齐。

  推荐用9号宋体最为屏幕显示字体,这是中文Windows中提供一种的适合屏幕显示的最小字体,这种字体没有毛刺,很自然。注:我们不一定要求是9号字,但是要和整套系统字体格式统一,一些标题等客户要求字体除外。

2、窗口标题文字描述统一规范

统一使用窗口功能名加上当前登录人。

例如:目前焦点窗口为标引管理,登录人为超级用户,则窗口标题应为:

标引管理==》超级用户。(注:该处不做要求,因为我们系统一般主界面的任务栏有显示登录用户)

3、窗口中隐藏控件不要太多

窗口中隐藏控件太多的话,会导致窗口内布局比较混乱,并且会给合作人造成理解上的困难。

4、图片文件的管理

图片文件要存放在一个统一的文件夹内,并将其命名为images。程序中图片的路径都取相对路径。针对目前我们pb开发系统有images,pic,sign三种文件夹命名,故以后都必须集中在pic文件夹下,以前的都不在处理。

六、数据库操作

在程序中利用SQL语句或数据窗口对数据库进行插入、删除、修改更新时,都要判断操作结果,如果成功则commit using  sqlca;否则的话rollback using sqlca;

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值