PB的编程规范

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  

---------------------------------------------------------------------------

一、 引言   
  为了规范软件开发代码及文档,方便维护,特制定软件开发规范如下。   
  二、 文档编写要求   
  每个系统要求有:需求分析文档、需求变更文档、数据库结构文档、数据库变更文档、软件开发文档。文档应先于具体编程,即编写程序以前必须写好相应的文档,然后按照文档进行编程。   
  每个窗口、事件都必须有文档。要求写出模块的名称、功能、输入、输出参数介绍、创建、修改时间。   
  三、 程序风格   
  程序要有良好的缩进格式。以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   
            
    
  在重要或复杂的逻辑代码前一行须加上注释,格式如下:   
  //注释内容   –   程序员姓名   
  ……   
  代码

PB 编程技巧100例(CHM) Table (20)PB修改数据库表结构的技巧 李清 System (19)用PB5设计串口通讯程序 王学军 TreeView (18)在PB的TreeView控件中实现自动查询 周剑峰 Datawindow (17)PowerBuilder数据窗口编程技巧十则 蔡伟龙 System (16)如何在POWER BUILDER中使用WINSOCK控件 达伟春 OTHER (15)在PB打印中实现人民币大写 侯晓伟 MENU (14)用PB做一个通用右键菜单 田俊国 SQL (13)SQL基础 System (12)用PowerBuilder开发多媒体播放器 河北 黄万璞 控件 (11)动态创建可视控件的基本方法 鹿寒 WEB (10) 用PowerBuilder创建Internet应用 Sybase 软件(北京)有限公司 霍军 SQL (9)同时访问多个数据库 大庆石化总厂信息中心 (邮编163714) 李畅 System (8)如何在PB中使用OCX控件? 陶清网站 Datawindow (7)美化DataWindow的显示效果 程序中心PB站 Datawindow (6)当Retrieve时不清除原有Datawindow数据 程序中心PB站 Datawindow (5)当表(Table)的定义发生改变以后同步DataWindow columns 程序中心PB站 Datawindow (4)在表格(Grid)风格的DataWindow放入标题 程序中心PB站 Datawindow (3)使用Line建立漂亮的Grid DataWindow的技巧 程序中心PB站 System (2)使Sybase SQL Anywhere的启动窗口不出现在任务栏 程序中心PB站 SQL (1)使用SQL产生BCP命令快速备份/恢复你所有数据 (仅用于Sybase和MS SQL Server数据库) 程序中心PB
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值