打開pb 的同時,打開
Word,把你作的改動,你遇見和解決的問題記錄下來(代碼和文檔同步?。?/DIV>
在每一個pbscr
ipt的開始要寫出注釋,功能,作用之類的注釋
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中,對象的命名一般采用如下前綴:
       -------------------------------------------
 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
//
//
//     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
    
 
       在重要或復雜的邏輯代碼前一行須加上注釋,格式如下:
       //注釋內容 – 程序員姓名
       ……
       代碼