您的位置:首页 > 数据库

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

2011-09-15 21:17 337 查看
 
 
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、 函数、事件注释
在函数和事件的开始都要写上其所完成的功能,对于函数来说如果有参数的则要对参数进行说明。
例如:
事件注释:
//===============================
4000
=====================================
// 事件: .()
//--------------------------------------------------------------------
// 描述:
//--------------------------------------------------------------------
// 参数:
//--------------------------------------------------------------------
// 返回:  (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;
 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息