久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

VB命名規(guī)則及代碼規(guī)范

 hdzgx 2017-10-22

1.       VBA 命名規(guī)則

一個(gè)好的命名規(guī)則可以提高程序的可讀性,減少錯(cuò)誤發(fā)生的概率,,命名規(guī)則不是一定的,,不同的人有不同的規(guī)則和習(xí)慣,但在編程過(guò)程中,,對(duì)于個(gè)人或工作組,,一定要遵守相同的命名規(guī)則。

1.1.       變量,、常量,、自定義類(lèi)型和枚舉

1 ?1 概括了變量、常量的基本命名規(guī)則,。

 

1 ? 1 變量,、常量和枚舉類(lèi)型的命名規(guī)則

元素

命名規(guī)則

變量

< 范圍 >< 數(shù)組 >< 數(shù)據(jù)類(lèi)型 > 描述(首字母大寫(xiě))

常量

< 范圍 >< 數(shù)據(jù)類(lèi)型 > 描述(全部大寫(xiě))

用戶(hù)自定義類(lèi)型

Type 描述名稱(chēng)

    < 數(shù)據(jù)類(lèi)型 > 描述

End Type

枚舉類(lèi)型

Enum < 工程前綴 > 一般描述

    < 工程前綴 >< 一般描述 >< 具體名稱(chēng) 1>

    < 工程前綴 >< 一般描述 >< 具體名稱(chēng) 2>

End Enum

 

< 范圍 > 表示了變量的作用域,對(duì)于 Private 類(lèi)型和模塊級(jí)變量,,一般使用“ m ”前綴表示,,對(duì)于 Public 類(lèi)型的變量,一般使用“ g ”前綴表示,,而對(duì)于過(guò)程內(nèi)的局部變量,,則不使用前綴。如果是數(shù)組,,在范圍前綴后增加“ a ”表示變量為數(shù)組,。

對(duì)于數(shù)據(jù)類(lèi)型,一般使用 1 ?2 的前綴表示,。

 

1 ? 2 命名規(guī)則常用前綴

前綴

數(shù)據(jù)類(lèi)型

前綴

數(shù)據(jù)類(lèi)型

前綴

數(shù)據(jù)類(lèi)型

is

Boolean

cm

ADODB.Command

cmb

MSForms.ComboBox

byt

Byte

cn

ADODB.Connection

chk

MSForms.CheckBox

cur

Currency

rs

ADODB.Recordset

cmd

MSForms.CommandButton

dte

Date

 

 

fra

MSForms.Frame

dec

Decimal

cht

Excel.Chart

lbl

MSForms.Label

f

Double ,, Single

rng

Excel.Range

lst

MSForms.ListBox

i

Integer ,, Long

wb

Excel.Workbook

mpg

MSForms.MultiPage

obj

Object

ws

Excel.Worksheet

opt

MSForms.OptionButton

str

String

 

 

spn

MSForms.SpinButton

u

User-defined type

cbr

Office.CommandBar

txt

MSForms.TextBox

v

Variant

ctl

Office.CommandBarControl

ref

RefEdit Control

col

VBA.Collection

cls

自定義類(lèi)

frm

用戶(hù)窗體

 

變量的描述部分最好使用有意義的字符串,使用 1-2 個(gè)英文單詞表示,,首字母大寫(xiě),,例如“ strUserName ”、“ iPeopleAge ”,。除了循環(huán)變量使用 i ,、 j ,臨時(shí)變量使用 tmp 之類(lèi)的變量外,,不要使用太短的命名,,但也不要使用太長(zhǎng)不易記憶的名稱(chēng)。

常量則一般使用全部大寫(xiě)的方式,,以與變量區(qū)別,。

對(duì)于枚舉類(lèi)型,整個(gè)工程一定要使用一致的規(guī)則,,每個(gè)枚舉常量都包含工程前綴,,變量前綴和本身描述幾部分,例如:

Private Enum schDayType

    schDayTypeUnscheduled

    schDayTypeProduction

    schDayTypeDownTime

    schDayTypeHoliday

End Enum

1.2.       過(guò)程和函數(shù)

過(guò)程和函數(shù)命名一般使用“名詞 + 動(dòng)詞”的方式,,首字母大寫(xiě),,也可以使用“動(dòng)詞 + 名詞”方式,對(duì)于過(guò)程和函數(shù)的參數(shù),,命名方式見(jiàn)前,,為了和局部變量區(qū)別,可以不使用表示參數(shù)變量類(lèi)型的前綴,。例如,,我們可以命名如下的過(guò)程:

GetUserName(id as long) As String

1.3.       模塊、類(lèi)模塊和用戶(hù)窗體

模塊使用類(lèi)似過(guò)程的命名,,用幾個(gè)表示其用途的首字母大寫(xiě)的短語(yǔ)來(lái)表示,,例如“ PlotChartTools ”;類(lèi)模塊增加前綴“ C ”,,以與標(biāo)準(zhǔn)模塊相區(qū)別,,例如“ CIniTools ”、“ CEmployee ”等,;用戶(hù)窗體則以“ frm ”為前綴,,如“ frmAbout ”、“ frmRegTools ”,。這樣,,在代碼中我們可以這樣使用類(lèi)模塊:

Dim clsMyClass As CMyClass

Set clsMyClass = New CMyClass

類(lèi)模塊與其對(duì)象差別一目了然。由于 VBA 對(duì)于窗體可以使用缺省窗體,不需要?jiǎng)?chuàng)建實(shí)例,,在代碼中可以直接使用,,因此,使用了與變量定義一樣的前綴,。例如:

frmRegTools.Show

1.4.       VBA 工程

VBA 工程一般使用與其文件名同名的名字,,一方面,當(dāng)打開(kāi)幾個(gè)工程的時(shí)候可以方便的區(qū)分工程,,另一方面,,在工程之間引用的時(shí)候,需要不同的名稱(chēng),。

2.       VBA 代碼規(guī)范

代碼規(guī)范表示了如何定義變量,、過(guò)程、函數(shù)(見(jiàn)前),,如何組織 代碼,,控制縮進(jìn),,添加注釋等內(nèi)容,。代碼規(guī)范的目的在于產(chǎn)生一致的代碼,提高代碼的可讀性,,使其易于修改和交流,。以下規(guī)范并非必須遵守,當(dāng)使用規(guī)范破壞了代 碼的可讀性,,那么就沒(méi)有必要遵從代碼規(guī)范了,,這種情況需要自行判斷。

2.1.       代碼的排版

縮進(jìn)

一般來(lái)說(shuō),,代碼的縮進(jìn)應(yīng)該為 4 個(gè)空格,,在 VBA IDE 中選中自動(dòng)縮進(jìn),并設(shè)置為 4 個(gè)字符,。一個(gè)過(guò)程的語(yǔ)句要比過(guò)程名稱(chēng)縮進(jìn) 4 個(gè)空格,,在循環(huán),判斷語(yǔ)句,、 With 語(yǔ)句之后也要縮進(jìn),。例如:

If strText = " " Then

       NoZeroLengthString = Null

Else

      NoZeroLengthString = strText

End If

 

行的長(zhǎng)度

一行代碼盡量不要過(guò)長(zhǎng),對(duì)于大多數(shù)編程規(guī)范,,建議一行代碼的最大長(zhǎng)度為 80 個(gè)字符,,在 VBA 中,可以使用續(xù)行賦“ - ”將長(zhǎng)的代碼行分為數(shù)行,,后續(xù)行應(yīng)該縮進(jìn)以表示與前行的關(guān)系,。例如:

AverageValue = TotalValue / _

    Worksheet(1).Range( A1:A1000 ).Rows.Count

 

空行

一個(gè)模塊內(nèi)部,過(guò)程之間要使用空行隔開(kāi),模塊的變量定義和過(guò)程之間也應(yīng)該空 1 行,。過(guò)程內(nèi)部,,變量定義和代碼應(yīng)該空 1 行。在一組操作和另一組操作之間也應(yīng)該空 1 行顯示其邏輯關(guān)系,??招锌梢院芎玫奶岣叱绦虻目勺x性,但同時(shí),,空行沒(méi)有必須遵守的規(guī)則,,其使用的目的就是要顯示程序的邏輯關(guān)系。

 

不要將多個(gè)語(yǔ)句放在同一行上

雖然 VBA 允許將多條語(yǔ)句放在一行,,但不推薦這么做,。

2.2.       注釋

書(shū)寫(xiě)程序的同時(shí),應(yīng)該同時(shí)對(duì)關(guān)鍵代碼,,模塊,,過(guò)程增加注釋?zhuān)某绦虻耐瑫r(shí),必須同時(shí)更改注釋,。必須時(shí)刻保證注釋與程序代碼一致,,否則還不如不加注釋。對(duì)于簡(jiǎn)短的注釋?zhuān)恍枰泳涮?hào),,否則應(yīng)該增加句號(hào),,組成段落。

如果可能,,建議盡量使用英文書(shū)寫(xiě)注釋?zhuān)驗(yàn)檫@樣會(huì)帶來(lái)交流的便利,,特別是在正式的開(kāi)發(fā)中。

 

區(qū)塊注釋

區(qū)塊注釋通常描述其下的部分或全部代碼,,例如模塊說(shuō)明或者過(guò)程說(shuō)明,。其縮進(jìn)要和它所描述的代碼一致。模塊的注釋?xiě)?yīng)該位于模塊的所有代碼之前,, Option 語(yǔ)句之后,,過(guò)程的注釋位于過(guò)程定義之后,并保證縮進(jìn)一致,。對(duì)于模塊的注釋?zhuān)⑨尳Y(jié)束后應(yīng)該有一空行,,其前后可以加一些修飾以區(qū)別與其他注釋?zhuān)^(guò)程注釋則不需要。例如:

#001 Option Explicit

#002

#003 '***************************************************

#004 ' 主程序模塊,,提供按鈕調(diào)用,,對(duì)話(huà)框彈出等服務(wù)

#005 '***************************************************

#006

#007 Public Const strVer As String = "0.31"

#008

#009 Public Sub GeoDrawMain()

#010 ' 主程序模塊,單擊按鈕后彈出

#011     frmMain.Show vbModal

#012 End Sub

 

行內(nèi)注釋

行內(nèi)注釋的形式是在語(yǔ)句的同一行中加注釋?zhuān)袃?nèi)注釋?xiě)?yīng)該簡(jiǎn)單明了,,并不要描述顯而易見(jiàn)的事情,。行內(nèi)注釋和語(yǔ)句至少應(yīng)該有 2 個(gè)以上空格。可以在語(yǔ)句和注釋之間使用多個(gè) Tab 使注釋對(duì)齊,,例如:

Dim iAge As Long            ‘ 年齡

Dim strName As String       ‘ 姓名

2.3.       程序版本

建議在模塊注釋中包括作者,,修改時(shí)間,版本等信息,,例如:

' 模塊名稱(chēng):氣壓計(jì)算模塊

' 描述:

' 作者: Mars

' 創(chuàng)建時(shí)間: 2004 4 23

' 修改時(shí)間: 2005 7 13

' 版本: 2.5

此類(lèi)注釋?xiě)?yīng)該形成自己的風(fēng)格,,在所有的工程中保持一致。對(duì)于團(tuán)隊(duì)工作和正式開(kāi)發(fā),,應(yīng)該嚴(yán)格要求在模塊注釋中包括這些內(nèi)容,。

2.4.       一些基本原則

明確說(shuō)明作用范圍

在代碼中,對(duì)于模塊級(jí)的變量,,過(guò)程,,函數(shù),應(yīng)該總是使用“ Public ”,、“ Private ”等關(guān)鍵字明確說(shuō)明其范圍,。

 

使用有意義的名稱(chēng)

一定要使用有意義的名稱(chēng),而不要使用簡(jiǎn)單的 A ,、 B ,、 C 之類(lèi)的名稱(chēng)(循環(huán)變量約定俗成使用 i j 等名稱(chēng)除外),。

 

明確參數(shù)和變量的數(shù)據(jù)類(lèi)型

在定義過(guò)程參數(shù)的時(shí)候,,一定要明確指定其數(shù)據(jù)類(lèi)型和傳遞方式( ByRef 或者 ByVal ),這不僅僅是考慮效率,,而是為了方便對(duì)這些過(guò)程的使用。對(duì)于變量定義,,也應(yīng)該養(yǎng)成明確說(shuō)明其數(shù)據(jù)類(lèi)型的習(xí)慣,。

 

模塊內(nèi)的過(guò)程排序

模塊內(nèi)部的過(guò)程應(yīng)該按照“ Public ”、“ Private ”的順序排序,,公有的過(guò)程在前,,私有在后;然后再按照過(guò)程名稱(chēng)字母順序排序,。

 

使用常量和枚舉

應(yīng)該盡量使用常量和枚舉,,而不要在程序代碼中使用數(shù)字(幻數(shù))。

 

語(yǔ)句的選擇

對(duì)于 True ,、 False 的判斷,,使用 If 語(yǔ)句,對(duì)于多種可能的判斷,,使用 Select 語(yǔ)句,。對(duì)于循環(huán),對(duì)于確定循環(huán)次數(shù)的循環(huán),使用 For 語(yǔ)句,,對(duì)于不確定循環(huán)次數(shù)的循環(huán),,使用 Do While 語(yǔ)句,盡量對(duì)集合使用 For Each 語(yǔ)句,。

 

Goto 語(yǔ)句

除了錯(cuò)誤處理,,不要使用 Goto 語(yǔ)句。

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,,所有內(nèi)容均由用戶(hù)發(fā)布,,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式,、誘導(dǎo)購(gòu)買(mǎi)等信息,,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,,請(qǐng)點(diǎn)擊一鍵舉報(bào),。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶(hù) 評(píng)論公約

    類(lèi)似文章 更多