首页 > 学院 > 开发设计 > 正文

PB开发规范.doc

2019-11-18 18:10:12
字体:
来源:转载
供稿:网友
我的使用小得是:
 1。每个表都用中文注明,这个表的标题,表中所有字段的内容。
 
 2。 窗口,数据窗口,事件,类也都注明。
 我的PBL是根据所要涉及的模块化分,我个人认为适合我的开发风格。:)
其他是每次使用内存后,在处理完后就释放。(如:datastore)
打开pb 的同时,打开Word,把你作的改动,你遇见和解决的问题记录下来(代码和文档同步!)
在每一个pbscript的开始要写出注释,功能,作用之类的注释
PowerBuilder程序开发规范
一、       系统对象的命名
对象名称       命名规则
窗口(WINDOW)         w_name
菜单(MENU)         m_name
用户对象(USER OBJECT)       uo_name
结构体(STRUCTURE)      s_name
函数(FUNCTION)         f_name
数据窗口(DATA WINDOW)普通数据窗口下拉式数据窗口 (用于DropDwon Datawindow)      d_name  dddw_name
管道(PIPELINE)         p_name
二、       窗口控件命名
控件名称       命名规则
命令按钮(COMMANDBUTTON)        cb_name
图形按钮(PICTUREBUTTON)   pb_name
复选框(CHECKBOX)         cbx_name
单选框(RADIOBOX)         rb_name
静态文本(STATICTEXT)      st_name
图片(PICTURE)         p_name
分组框(GROUPBOX)         gb_name
线条(LINE)         ln_name
单行编辑框(SINGLELINEEDIT)     sle_name
格式编辑框(EDITMASK)         em_name
多行编辑框(MULTILINEEDIT)       mle_name
RICHTEXTEDIT 控件(RICHTEXTEDIT)      rte_name
水平滚动条(HSCROLLBAR)   hsb_name
竖直滚动条(VSCROLLBAR)   vsb_name
下拉列表框(DROPDOWNLISTBOX)     ddlb_name
下拉图形列表框(DROPDOWNPICTURELISTBOX)        ddplb_name
列表框(LISTBOX)         lb_name
图形列表框(PICTURELISTBOX)   plb_name
ListView控件(LISTVIEW)         lv_name
TreeView控件(TREEVIEW)         tv_name
Tab控件(TAB)Tab页       tab_name  tabpage_name
数据窗口控件(DATAWINDOW)         dw_name
图形控件(GRAPH)         gr_name
OLE控件         ole_name
用户对象控件(USER OBJECT)       uo_name
 
 
变量命名
变量类型       命名规则
布尔型变量(BOOLEAN)         Xb_name
字符型变量(CHAR)       Xc_name
日期型变量(DATA)        Xd_name
日期时间型变量(DATATIME)         Xdt_name
小数型变量(DECIMAL)         Xdec_name
双精度浮点型变量(DOUBLE)         Xdou_name
整型变量(INTEGER)         Xi_name
长整型变量(LONG)       Xl_name
实型变量(REAL)        Xr_name
结构体变量(STRUCTURE)      Xstr_name
字符串型变量(STRING)   Xs_name
时间型变量(TIME)        Xt_name
无符号整型变量(UINT)    Xui_name
无符号长整型变量(ULONG)         Xul_name
说明:对于变量的命名规则中的X
全局变量(GLOBAL VAR)                     X用g替换
实例变量(INSTANCE VAR)              X用i替换
共享变量(SHARED VAR)                     X用s替换
局部变量(LOCAL VAR)               X用l替换
例如:定义字符串变量
全局变量(GLOBAL VAR)                     gs_name
实例变量(INSTANCE VAR)              is_name
共享变量(SHARED VAR)                     ss_name
局部变量(LOCAL VAR)               ls_name
  定义整型变量
全局变量(GLOBAL VAR)                     gi_name
实例变量(INSTANCE VAR)              ii_name
共享变量(SHARED VAR)                     si_name
局部变量(LOCAL VAR)               li_name
三、       其他命名
名称       命名规则
用户自定义事件(USER EVENT)         ue_name
窗口函数(WINDOW FUNCTION)         wf_name
我的思想:多用封装的,少写代码!
一个人写的代码也许只有他自己才能读的懂!
l      建议在本机上建rubbish目录,用来存放暂时不用但以后有可能用到的东西。
l      注意使用已有的类。以继承方式用之。禁止不查看已有的类,自己又重做一套。
l      share中各对象都应注册到版本控制系统,如ObjectCycle,修改对象时使用checkin/checkout机制,以便两个/多个人可共同维护同一组对象而不发生冲突,最主要的是可保存以前任何版本,便于提交和恢复
。新建对象时,首先想到的应当是“inherit”,而不是“new”!
l      PBL命名规则为以模块标识打头如:jl_。
l      每个pbl模块不应大于1.5MB,过大则应再划分
一、       引言
为了规范软件开发代码及文档,方便维护,特制定软件开发规范如下。
二、       文档编写要求
每个系统要求有:需求分析文档、需求变更文档、数据库结构文档、数据库变更文档、软件开发文档。文档应先于具体编程,即编写程序以前必须写好相应的文档,然后按照文档进行编程。
每个窗口、事件都必须有文档。要求写出模块的名称、功能、输入、输出参数介绍、创建、修改时间。
三、       程序风格
程序要有良好的缩进格式。以Power Builder为例:
If condition Then
   something to do
End If
即每个关键字头字母大写,相应位置有3个空格的缩进。
四、       变量命名规范(以Power Builder为例)
1、 对象命名
 PowerBuilder中,对象的命名一般采用如下前缀:
 PRefix              Object
       -------------------------------------------
 d_                 DataWindows
 dddw_          DropDownDataWinows
 f_         Functions
 m_        Menus
 p_         Pipelines
 s_         Structures
 u_         UserObjects
 w_        Windows
2、 控件命名
 在PowerBuilder的窗口中,控件的命名一般采用如下前缀:
         Prefix              Control
 ---------------------------------------------------------------
         cbx_               CheckBox                     
 cb_              CommandButton         
 dw_             DataWindow             
         ddlb_               DropDownListBox     
         em_              EditMask              
         gr_        Graph
         gb_              GroupBox                    
 hsb_             HScrollBar                
         ln_        Line                 
       lb_            ListBox                
       mle_         MultiLineEdit       
       ole_          OLE 2 0               
       ocx_         OCX                       
       oval_        Oval                 
       p_            Picture                 
       pb_           PictureButton      
 rb_        RadioButton              
       r_             Rectangle                
       rr_            RoundRectangle         
       sle_          SingleLineEdit      
       st_            StaticText                
       uo_           User Object                
       vsb_         VScrollBar
3、 变量命名:
        ---------------------------------------------------------------
        1)、作用域命名
          Prefix             Scope     
         ---------------------------------------------------------------
          g_              Global
          s_              Shared
          i_        Instance
l_            Local
 2)、变量类型前缀
         Prefix             Datatype
       ---------------------------------------------------------------
 b_         Boolean 
         blob_              Blob    
         d_         Double  
         date_              Date
         dec_              Decimal  
         dt_        DateTime
         i_          Integer 
 l_          Long    
         s_         String  
         t_          Time    
         ui_        Undisgned Int   
         ul_        Undisgned Long        
         tr_        Transaction object  
         do_              Dragobject
         dwc_              DataWindowChild   
         nvo_              NonVisulObject    
4、 函数命名
         Prefix             Scope
      ---------------------------------------------------------------
        gf_         Global Function 
        wf_        Window Function     
        mf_        Menu Function       
        uf_         UserObject Function 
五、       程序注释要求
要求每个事件、函数、变量等都必须有注释。注释与代码的比例最少应达到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.
//
//////////////////////////////////////////////////////////////////////////////
在每段程序的前方写明代码的作用、逻辑等。每个变量要求写出其功能。
六、       对象的命名及备注
每个对象备注中要有对象的功能及开发人。
我认为这样挺规范的:
一、变量规范
1、前缀
(1)、作用域
全局(Global):              g
共享(Shared):              s
实例(Instance):       i
局部(Local):              l
(2)、类型
b            Boolean
blob       Blob
d            Double
num Number
date        Date
dec        Decimal
dt           DateTime
i             Integer
l             Long
s            String
t            Time
ui            Undisgned Int
ul            Undisgned Long
tr            Transaction Object
do           DragObject
ds           DataStore
dwc        DataWindowChild
nvo        NonVisulObject
tri           TreeViewItem
lvi           ListViewItem
2、格式 
              作用域 类型 _ 英文意义或缩写
             
 
        首字母大写  首字母大写或全部大写(缩写)
注:不可随意定义或更改全局变量
 
二、PowerBuilder对象
1、窗口(Window)
w _子模块拼音码_功能或用途(英文意义)
2、数据窗口(DataWindow)
d_子模块拼音码_功能或用途(英文意义)
3、查询(Query)
q_子模块拼音码_功能或用途(英文意义)
4、数据管道(Pipeline)
p_子模块拼音码_功能或用途(英文意义)
5、函数(Function)
f_子模块拼音码_功能或用途(英文意义)
       6、全局函数(Global Function)
gf_功能或用途(英文意义)
7、窗口函数(Window Function)
wf_功能或用途(英文意义)
       8、菜单函数(Menu Function)
mf_功能或用途(英文意义)
       9、用户自定义对象函数(User Object Function)
uf_功能或用途(英文意义)
10、菜单(Menu)
m_子模块拼音码_功能或用途(英文意义)
11、结构(Structure)
stru_子模块拼音码_功能或用途(英文意义)
12、用户自定义对象(User Object)
u_子模块拼音码_功能或用途(英文意义)
       13、控件(Controls)
cbx_             CheckBox      
cb_               CommandButton  
dw_              DataWindow  
ddlb_             DropDownListBox  
em_              EditMask      
gr_                Graph
gb_               GroupBox      
hsb_              HScrollBar  
ln_                Line  
lb_                ListBox      
mle_              MultiLineEdit  
ole_               OLE 2 0      
ocx_             OCX  
oval_             Oval  
p_                 Picture      
pb_               PictureButton  
rb_                RadioButton  
r_                 Rectangle  
rr_                RoundRectangle  
sle_               SingleLineEdit  
st_                StaticText  
uo_               User Object  
vsb_              VscrollBar
 
特别说明:
系统固定按钮名称
Cb_Yes                                      [是(&Y)]
Cb_No                                       [否(&N)]
Cb_Ignore                                  [忽略(&I)]
Cb_Retry                             [重试(&R)]
Cb_Abort                                   [终止(&A)]
Cb_Ok                                       [确定(&Y)]
Cb_Cancel               [取消(&C)]
Cb_Return                      [返回(&R)]
Cb_Close                             [关闭(&X)]
Cb_Print                        [打印(&P)]
Cb_PrintPrev                       [打印预览(&V)]
Cb_Gen                        [生成(&G)]
Cb_Query                      [查询(&Q)]
Cb_Count                                   [统计(&T)]
Cb_Add                        [添加(&A)]
Cb_Insert                       [插入(&I)]
Cb_Del                         [删除(&D)]
Cb_Modify                                 [修改(&M)]
Cb_Save                              [保存(&S)]
Cb_Send                             [发送(&F)]
Cb_Audit                             [审核(&T)]
Cb_Abandon                        [作废(&Z)]
Cb_First                              [首条]或[9]Webdings字体
Cb_Next                        [后一条]或[8]Webdings字体
Cb_Prev                       [前一条]或[7]Webdings字体
Cb_End                               [末条]或[:]Webdings字体
 
三、PowerBuilder库文件
       每个子模块包含有最多10个Pbl文件,其中有:
              1、存放子模块所使用的PowerBuilder基本对象(窗口、菜单等):
子模块拼音码+序号(00 - 09).pbl                                       -- 10个
2、存放子模块所使用的资源文件(Bmp、Ico、Cur、Ani文件)
子模块拼音码+Res.pbl                                                          -- 1个
 
四、代码
Powerbuilder中的保留字首字大写
       内嵌式SQL语句保留字全部大写
      
       自定义函数注释格式:
名称:
    功能:
    参数:
    逻辑:
    适用:
    编程:
    创建: 2002.01.01
    修改: 2002.02.01
    版本: 1.0
   
 
       在重要或复杂的逻辑代码前一行须加上注释,格式如下:
       //注释内容 – 程序员姓名
       ……
       代码

上一篇:给DBGrid添加鼠标滚动事件

下一篇:控制台输出'颜色'字

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表
学习交流
热门图片

新闻热点

疑难解答

图片精选

网友关注