VB編碼規(guī)則技術文件資料.doc_第1頁
VB編碼規(guī)則技術文件資料.doc_第2頁
VB編碼規(guī)則技術文件資料.doc_第3頁
VB編碼規(guī)則技術文件資料.doc_第4頁
VB編碼規(guī)則技術文件資料.doc_第5頁
已閱讀5頁,還剩24頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

NETS編碼規(guī)則株式會社東芝(注):頁開始是英文文資料。NOTE :The prvious page is the Japanese Documentations . The English ones Starts from this page .資料號碼:.第 1 章 序言4第 2 章 編碼的準備5第 3章 命名規(guī)約63 1 . 使用的目的63 2 . Object的結構化733. 前綴(prefix)83 4 . 標簽(tag)93 5 . 基本名(BaseName)103 6 . 量詞( Qualifier)113 7 . 后綴(Suffix)12第章模塊頭134 1 . 外部模塊頭134 2 . 內部模塊頭154 3 . 注釋語句17第 5章 錯誤處理195 1 . 結構化錯誤處理195 2 . Inline錯誤處理19第 6章 編碼規(guī)約206 1 . 函數(shù)化206 2 . 常數(shù)的使用206 3 . 變量的聲明206 3 1 . 變量生明206 3 2 . 變量的范圍226 4 . 函數(shù)的聲明226 4 1.SUB226 4 2 . FUNC226 5 . 控制語句226 5 1 . I FENDIF225 5 2. FORNEXT245 5 3.SELECTCASE255 5 4.DO LOOP27第 7 章 控件28第章用戶控件29.在用戶控件上作成規(guī)定屬性298 2 . 在用戶控件中作成規(guī)定Event30第章數(shù)據(jù)庫訪問規(guī)則31開發(fā)環(huán)境31連接斷開31表示檢索的結果33第 1 章 序言所謂編碼就是基于在程序設計時作成的程序設計書和流程圖等邏輯設計、用編程語言、對為在計算機上實現(xiàn)某些功能的邏輯進行描述的工作。在編碼過程中、為了消除因程序員水平不同而造成的差異、為了順利的進入單體測試階段、同時也為了維護方便、以下整理了編碼的準備和代碼書寫的標準。而且、關于書寫標準、除非客戶有指定的要求、或者使用了(半)自動生成代碼的工具話、則應盡量遵從這個標準。本規(guī)范是以使用Microsoft 的 Visual Basic 來開發(fā)PC的應用程序為前提的。第 2 章 編碼的準備(1) 以系統(tǒng)設計書、程序設計書(根據(jù)情況也包含流程圖等的邏輯設計書)為基礎。(2) 在完全理解了以上文檔內容的基礎上開始編碼工作(特別是程序設計書的作者和編碼的擔當者不同時)。對于不明白的地方不要隨意判斷、要進行確認。(3) 始終注意要把程序的易理解性(易讀性)放在第一位。為此、在編程時要時刻想著程序的讀者、本著以向讀者說明的態(tài)度來編寫程序是寫好程序的關鍵。讀起來容易理解的程序一般來說總是質量優(yōu)良、而且容易改造的。(4) 象數(shù)據(jù)庫的記錄的規(guī)范等include文件、模塊頭、宏定義等系統(tǒng)應該統(tǒng)一的東西、要采用系統(tǒng)規(guī)定的東西、不要根據(jù)個人的意愿隨意的作成、否則、這將成為在進行變更和改造時發(fā)生問題的原因。(5) 編碼結束后、要對代碼進行檢查。不檢查代碼則不能輕易的進入下一步的測試階段的工作。檢查代碼不僅是最容易發(fā)現(xiàn)錯誤的方法、而且有時還能檢出在測試時不易發(fā)現(xiàn)的復雜錯誤。第 3章 命名規(guī)約3 1 . 使用的目的命名規(guī)約以以下4點為目的的而使用。(1) Object名容易明白會使應用程序的結構代碼等容易理解。(2) 確立開發(fā)小組“通用語言”、使全體成員用同樣的“語言”來開發(fā)應用程序。(3) 使VB Jet的Object 容易被使用。(4) 用較少的勞力作成VB開發(fā)用的工具、在各式各樣的VBA 平臺里通用的源碼庫。本規(guī)約是用遵從被VisualBasic作為標準的 Lezynski命名規(guī)則(Lezynski Naming Convention、 以下稱LNC)的方法來規(guī)定命名法的。3 2 . Object的結構化LNC按以下格式對Object進行命名。 Prefix tag BaseName Quantifier Suffix Prefix前綴Tag標簽BaseName基本名Quantifier量詞Suffix后綴對各個部分按順序進行說明。. 前綴(prefix)前綴是在標簽前面的識別符、是對標簽進行進一步詳細說明的。前綴用1到2個小寫字母組成。對1個Object復數(shù)個前綴可以組合使用。前綴有表示有效范圍的和表示變量特性的。另外、2個前綴能夠重疊使用。(1) 表示有效范圍的前綴表1 . 表示有效范圍的前綴無Procedure內的局部變量s用Static聲明的Procedure的局部變量m在模塊Declarations Section 的用Dim 或Private聲明的模塊水平的變量p在模塊的Declarations Section用Public聲明的變量g在模塊的Declarations Section作為Public或Global聲明的變量(2) 表示變量特性的前綴表2. 表示變量特性的前綴a作為數(shù)組聲明的變量c用Const聲明的變量e作為的Collection1個要素的變量i作為數(shù)組的Index或循環(huán)的計數(shù)器使用的變量r傳遞給Procedure參數(shù)的作為參照傳遞( ByRef )聲明的變量t作為用戶定義型定義的變量v傳遞給Procedure參數(shù)的作為值傳遞( ByVal )聲明的變量(3) 例值傳遞的參數(shù):vintCount參照傳遞的參數(shù): rstrFileName在Declarations用public聲明的數(shù)組的Index變量:apintMember用Const聲明的變量:cintFNAMEMAX3 4 . 標簽(tag)標簽是表示基本名的特征的復數(shù)個的字母、放在基本名的前面。標簽基本上相當于面向Object編程的類識別符。標簽用3到4個小寫字母組成。標簽是表示基本名的特征的復數(shù)個的字母、表示變量的型啦的種類。從標簽表示的意思上可以對數(shù)據(jù)型、模塊、Form、控件的標簽進行分類。(1) 數(shù)據(jù)型表3. 數(shù)據(jù)型標簽布爾值bln長整數(shù)lngBytebytObjectobj雙精度浮點數(shù)dbl字符串str錯誤err用戶定義typ整數(shù)intVariantvar(2) 模塊、Form、控件表4 模塊標簽 表5. 標簽類模塊cls對話框fdlg標準模塊bas菜單fmnuFormfrm表6. 控件標簽Command ButtoncmdOption Buttonopt控件ctlPocturepic,picsCombo BoxcboPrinterprn,prns菜單mnu屬性prp,prps菜單項mni,mnisTabtab,tabsNodenod,modsText BoxtxtList BoxlstCommon Dialogcdlg(3) 例l 判定成功用的變量:blnSuccessl 文件名:strFileNamel 檢索處理用的標準模塊:basSearchDatal 主Form:frmMainl Start Button:cmdStartl Font Dialog:cdlgFont3 5 . 基本名(BaseName)基本名是設Object名是最先遇到的部分、是不管采用不采用命名規(guī)則都必須使用的名字?;久糜幸饬x的單詞(原則上用英文單詞)來組合、各個單詞的第一個字母大寫其余用小寫。這時、再加上專用名詞的情況下、要用日語的羅馬字。但是、用Const聲明的變量的基本名全部用大寫。另外、雖然沒有限制、基本名還是要選擇不太長的名字。作為基本名的樣本用在VB編碼里的標準的作業(yè)變量表示如下。表7 . 標準LNC作業(yè)變量blnRET接受函數(shù)調用的返回值( True/False )intErr保持Err的值intLoop循環(huán)計數(shù)器intMsg接受MsgBox函數(shù)的返回值intResult保持算術演算的接果(dblresult 、lngResult 也同樣)intRet接受函數(shù)調用的返回值(dblRet、lngRet也同樣)intWord用在所有暫時的作業(yè)(dblWord 、 lngWork也同樣)strMsg作成Message Box字符串3 6 . 量詞( Qualifier)量詞表示Object在關聯(lián)上是怎樣被利用的。(最大、最小等)量詞要盡量短、用大寫.小寫字母的組合來表示。表8 . 量詞Curr存貯1Set內的現(xiàn)在的要素First存貯1Set內的最初的要素Hold存貯以后要使用的要素Last存貯1Set內的最后的要素Max存貯1Set內的最大要素Min存貯1Set內的最小要素Next存貯1Set內的下一個的要素New存貯的新的instance或值Oid存貯的以前的instance或值Prev存貯1Set內的前面的要素Src存貯SourceTemp存貯暫時的值3 7 . 后綴(Suffix)后綴是以在按照命名規(guī)則時變成的名字的Object名上識別符為目的而添加的。所以不是非要不可、根據(jù)Project決定是否采用。假設DB關聯(lián)的標準模塊有SortData、DeleteData、InsertData、UpdateData4個。這時、如果存貯錯誤碼的變量設為、在各個模塊里確保變量的話、就會區(qū)別不開。如果在取各個模塊的大寫的2個字母作后綴、各個變量就能區(qū)別開。SortData( SD )-gintErr_SDDeleteData( DD )-gintErr_DDDeleteData( ID )-gintErr_IDDeleteData( UD )-gintErr_UD雖然后綴的決定方法沒有特別的基準、還是要選擇容易明白區(qū)別基準的2到3個字母的字符串。另外、大寫字母、小寫字母可以任意使用。第章模塊頭 模塊頭對了解模塊的概要是很有效的、另外還有助于維護。所以、對此必須記述。4 1 . 外部模塊頭外部模塊頭要記述以下項目。(有關程序全體的信息在Include文件(文件名=程序名.h)記述。)( a )模塊識別信息 系統(tǒng)名 客戶名 程序名或模塊名 擔當部科名 著作權表示( b ) 模塊說明 功能 參數(shù)說明 動作環(huán)境/作成環(huán)境 作成擔當著名( c ) 履歷 作成日時(單體試驗完成日) 變更日時 變更內容 版本信息( d )補充說明 外部模塊頭*Copyright Shenyang NETS System Integration Co. Ltd.1998.All Rights Reserved.系統(tǒng)名 :系統(tǒng)名客戶 :客戶 程序 :程序名稱擔當部長 :沈陽東東系統(tǒng)集成有限公司 開發(fā)一部*功能 :功能概要參數(shù) :對有關重要參數(shù)進行說明作成環(huán)境 :工具、編譯環(huán)境、OS動作環(huán)境 :OS、制約條件擔當 :擔當者名作成日 :1999年5月28日 (Ver.0)*變更履歷 Ver.0.1 1999年5月28日 所屬 擔當者名 變更理由 變更內容Ver.1.0 1999年6月15日 所屬 擔當者名 變更理由 變更內容*/4 2 . 內部模塊頭在內部模塊頭寫下以下項目。 ( a )模塊說明 功能 參數(shù)說明 動作環(huán)境/作成環(huán)境 作成擔當者名 ( b )履歷 作成日時(單體試驗完成日) 變更日時 變更內容 版本信息(c )補充說明 內部模塊頭*功能 :功能概要參數(shù) :對有關參數(shù)進行說明擔當 :擔當者名作成日 :1999年5月28日(Ver .0)*變更履歷Ver .0 1999年5月31日 所屬 擔當者名 變更理由. 變更內容Ver .0 1999年6月15日 所屬 擔當者名 變更理由. 變更內容*4 3 . 注釋語句1. 考慮到提高維護性、以模塊及塊為單位寫上內容說明、以便馬上能找到修改的地方。2. 為了幫助讀者理解程序、在不容易理解的邏輯上加上說明。不是在只讀了程序馬上就能理解的地方加上注釋、而是要象給讀者提供新信息之類的說明。例如、寫上在那里使用的算法的注釋。3. 不要加上不必要的注釋。在注釋之前、先要在識別符命名法、整理程序構造上下工夫使程序容易被讀懂。4. 注釋語句盡可能寫的簡單明了.5. 注釋寫在語句的前面時要和語句的列對齊。 注釋 XXXX YYYY6. 把源碼刪除、改成注釋時、不要用不容易弄清范圍是否有效的寫法。 Ver0.5 刪除 start XXXXX; YYYYY; Ver0.5 刪除 end. 變更 修改程序時對注釋也必須進行維護。第 5章 錯誤處理錯誤處理有“結構化錯誤處理”和“Inline錯誤處理”2種方法?,F(xiàn)在的主流雖然是“結構化錯誤處理”、根據(jù)系統(tǒng)也可以使用“Inline錯誤處理”。另外、也可以把兩個組合起來使用。但是、必須對所有的錯誤的發(fā)生都執(zhí)行錯誤處理來進行編碼。5 1 . 結構化錯誤處理結構化錯誤處理是以“On Error Goto XXXX”的語句來記述、在XXXX的部分記述錯誤處理的方法。這時、錯誤處理程序XXXX原則上寫在Procedure的最后、XXXX要設成、“錯誤名”+“Err”的名字。5 2 . Inline錯誤處理Inline錯誤處理是在錯誤發(fā)生后馬上Trap錯誤的編碼方法。為了實行這個、實施以下2點。 在Procedure的開始處寫上“On Error Resume Next”語句 在有可能發(fā)生錯誤的碼的緊后面編進確認邏輯。第 6章 編碼規(guī)約6 1 . 函數(shù)化 在符合以下條件的情況下、要把處理匯總成子成序。 2個地方以上被使用的處理 超過100步的處理獨自作成的函數(shù)要寫在BAS文件里。這時、BAS文件的最大步數(shù)不要超過500步。關于被2個以上可執(zhí)行文件使用的函數(shù)、共享包含那個函數(shù)的BAS文件。6 2 . 常數(shù)的使用關于字符串的尺寸、上限值、下限值等預先定下來的值、要把這個作為文字常數(shù)來定義并使用此常數(shù)。6 3 . 變量的聲明 6 3 1 . 變量聲明( 1 )“Option Explicit”生明Option Explicit”聲明使聲明所有的變量在參照前必須進行聲明的聲明。在作成新模塊時、必須進行這個聲明?;蛟诃h(huán)境中設置。( 2 ) “Dim”聲明Dim”聲明是為了聲明變量并分配存貯領域而使用。因為聲明因生明的地方不同而使范圍不同、所以如果希望范圍明確的話、用“Public”、“Private”聲明進行聲明。用“Dim”聲明進行變量聲明時、必須把變量的型用“As Type ”來聲明這時、在進行復數(shù)個變量聲明的情況下、要給各個變量加上“As Type”。例)Dim strName As String , strFile As String ,strData As String 這種情況下、String型的str Name str File, str Data 3個變量被生明。Dim strName , strFile ,strData As String 這種情況下、Variant型的s z Name 、s z File 和String 型的s z Data 變量被聲明。 ( 3 )“Public 、Private”聲明這些聲明是在對水平的變量進行聲明時使用?!癙ublic”是對Project內通用的變量、“Private”是只對模塊內使用的變量使用。( 4 )“Static” 聲明在對Procedure水平的變量進行聲明時使用。用“Static”聲明的變量在程序執(zhí)行期間內成為有效的變量。( 5 )“Const”聲明 Procedure模塊兩方多可使用。用“Const”聲明的變量不能變更。用“Public” “ Static” “ Const”聲明的變量要預先記載在設計書上。另外、盡可能地把這些變量匯總在1個標準模塊上聲明。6 3 2 . 變量的范圍變量由于聲明的地方和聲明的種類不同有效范圍會有所不同、所以要在考慮范圍后再對變量進行聲明。6 4 . 函數(shù)及子程序的聲明函數(shù)的聲明參數(shù)“ByRef” “ByVal”的聲明必須進行。讀入在DLL定義的函數(shù)時、要對被DLL Export的函數(shù)名確認后在進行聲明。用Alias變更函數(shù)名時、要用容易明白原來的函數(shù)名的名字。6 4 1.SUB調用子程序時、有用和不用Call調用的方法、在系統(tǒng)中要統(tǒng)一。6 4 2 . FUNC 聲明函數(shù)時、要用As Type的形式對返回值進行聲明。6 5 . 控制語句6 5 1 . I FENDIF有關條件比較、必須考慮進ELSE進行記述。原則上要用肯定型條件比較。進行變量比較時、原則上不使用神秘數(shù)用全局變量或常數(shù)進行比較。例) if nCount = MAX-COUNT then nPage = nPage + 1 endif if nCount = 10 then nPage = nPage + 1 endif5 5 2. FORNEXT把循環(huán)變量寫在 NEXT 的后面使循環(huán)的范圍容易明白例) For nLoop = 1 to 100 nPage = nPage + 1 NEXT nLoop For nLoop = 1 to 100 nPage = nPage + 1 NEXT 5 5 3.SELECTCASE關于語句的各個值的意義要寫上注釋。另外、考慮到取得預期以外的值的情況要加進CASE ELSE 語句。SELECT CAES 語句嵌套時、要寫上注釋使對應的End Select容易被明白。例) Select MSG Case 1 “Yes”的情況 nPage = nPage + 1 Case 2 “

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論