WEB开发网
开发学院软件开发Delphi PB开发规范.doc 阅读

PB开发规范.doc

 2006-02-04 13:55:10 来源:WEB开发网   
核心提示:我的使用小得是: 1,每个表都用中文注明,PB开发规范.doc,这个表的标题,表中所有字段的内容,六、 对象的命名及备注每个对象备注中要有对象的功能及开发人,我认为这样挺规范的:一、变量规范1、前缀(1)、作用域全局(Global): g共享(Shared): s实例(Instance): i局部(Local):
我的使用小得是:  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          在重要或复杂的逻辑代码前一行须加上注释,格式如下:     //注释内容 – 程序员姓名     ……     代码

Tags:PB 开发 规范

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接