自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

全面概括VB.NET編程七步通

開發(fā) 后端
文章主要介紹了VB.NET編程的基本步驟,和在編程中需要養(yǎng)成的良好習(xí)慣。在這里總結(jié)了7步通,希望可以對喜歡VB.NET編程的朋友帶來方便。

經(jīng)過長時間學(xué)習(xí)VB.NET編程,在編程中總結(jié)了一些VB.NET編程的良好規(guī)范,于是和大家分享一下,看完本文你肯定有不少收獲,希望本文能教會你更多東西。
1"&"替換"+"
2變量命名大小寫,語句錯落有秩,源代碼維護(hù)方面
3請養(yǎng)成以下的“對象命名約定”良好習(xí)慣
4在簡單的選擇條件情況下,使用IIf()函數(shù)
5盡量使用Debug.Print進(jìn)行調(diào)試
6在重復(fù)對某一對象的屬性進(jìn)行修改時,盡量使用With....End With
7MsgBox中盡量使用消息圖標(biāo),這樣程序比較有規(guī)范
8在可能的情況下使用枚舉

1、"&"替換"+"
在很多人的編程語言中,用“+”來連接字符串,這樣容易導(dǎo)致歧義。良好的習(xí)慣是用“&”來連接字符串.
不正確:

  1. Dim sMessage As String  
  2. sMessage = "1" + "2" 

正確:

  1. Dim sMessage As String  
  2. sMessage = "1" & "2" 

注意:"&"的后面有個空格

2、變量命名大小寫,語句錯落有秩,源代碼維護(hù)方面

下面大家比較一下以下兩段代碼:
讀懂難度很大的代碼:

  1. Dim SNAME As String  
  2. Dim NTURN As Integer  
  3. If NTURN = 0 Then  
  4. If SNAME = "vbeden" Then  
  5. Do While NTURN < 4 
  6. NTURNNTURN = NTURN + 1  
  7. Loop  
  8. End If  
  9. End If 

容易讀懂的代碼:

  1. Dim sName As String  
  2. Dim nTurn As Integer  
  3. If nTurn = 0 Then  
  4. If sName = "vbeden" Then  
  5. Do While nTurn < 4 
  6. nTurnnTurn = nTurn + 1  
  7. Loop  
  8. End If  
  9. End If 

3、請養(yǎng)成以下的“對象命名約定”良好習(xí)慣推薦使用的控件前綴
控件類型 前綴 例子

  1. 3D Panel  pnl pnlGroup  
  2. ADO Data ado adoBiblio  
  3. Animated button ani aniMailBox  
  4. Check box chk chkReadOnly  
  5. Combo box, drop-down list box cbo cboEnglish  
  6. Command button cmd cmdExit  
  7. Common dialog  dlg dlgFileOpen  
  8. Communications  com comFax  
  9. Control (當(dāng)特定類型未知時,在過程中所使用的) ctr ctrCurrent  
  10. Data dat datBiblio  
  11. Data-bound combo box dbcbo dbcboLanguage  
  12. Data-bound grid dbgrd dbgrdQueryResult  
  13. Data-bound list box dblst dblstJobType  
  14. Data combo dbc dbcAuthor  
  15. Data grid dgd dgdTitles  
  16. Data list dbl dblPublisher  
  17. Data repeater drp drpLocation  
  18. Date picker dtp dtpPublished  
  19. Directory list box dir dirSource  
  20. Drive list box drv drvTarget  
  21. File list box fil filSource  
  22. Flat scroll bar fsb fsbMove  
  23. Form frm frmEntry  
  24. Frame fra fraLanguage  
  25. Gauge gau gauStatus  
  26. Graph gra graRevenue  
  27. Grid grd grdPrices  
  28. Hierarchical flexgrid flex flexOrders  
  29. Horizontal scroll bar hsb hsbVolume  
  30. Image img imgIcon  
  31. Image combo imgcbo imgcboProduct  
  32. ImageList ils ilsAllIcons  
  33. Label lbl lblHelpMessage  
  34. Lightweight check box lwchk lwchkArchive  
  35. Lightweight combo box lwcbo lwcboGerman  
  36. Lightweight command button lwcmd lwcmdRemove  
  37. Lightweight frame lwfra lwfraSaveOptions  
  38. Lightweight horizontal scroll bar lwhsb lwhsbVolume  
  39. Lightweight list box lwlst lwlstCostCenters  
  40. Lightweight option button lwopt lwoptIncomeLevel  
  41. Lightweight text box lwtxt lwoptStreet  
  42. Lightweight vertical scroll bar lwvsb lwvsbYear  
  43. Line lin linVertical  
  44. List box lst lstPolicyCodes  
  45. ListView lvw lvwHeadings  
  46. MAPI message mpm mpmSentMessage  
  47. MAPI session mps mpsSession  
  48. MCI mci mciVideo  
  49. Menu mnu mnuFileOpen  
  50. Month view mvw mvwPeriod  
  51. MS Chart ch chSalesbyRegion  
  52. MS Flex grid msg msgClients  
  53. MS Tab  mst mstFirst  
  54. OLE container ole oleWorksheet  
  55. Option button opt optGender  
  56. Picture box pic picVGA  
  57. Picture clip clp clpToolbar  
  58. ProgressBar prg prgLoadFile  
  59. Remote Data rd rdTitles  
  60. RichTextBox rtf rtfReport  
  61. Shape shp shpCircle  
  62. Slider sld sldScale  
  63. Spin spn spnPages  
  64. StatusBar sta staDateTime  
  65. SysInfo sys sysMonitor  
  66. TabStrip tab tabOptions  
  67. Text box txt txtLastName  
  68. Timer tmr tmrAlarm  
  69. Toolbar tlb tlbActions  
  70. TreeView tre treOrganization  
  71. UpDown upd updDirection  
  72. Vertical scroll bar vsb vsbRate 

推薦使用的數(shù)據(jù)訪問對象 (DAO) 的前綴用下列前綴來指示數(shù)據(jù)訪問對象
數(shù)據(jù)庫對象 前綴 例子

  1. Container con conReports  
  2. Database db dbAccounts  
  3. DBEngine dbe dbeJet  
  4. Document doc docSalesReport  
  5. Field fld fldAddress  
  6. Group grp grpFinance  
  7. Index ix idxAge  
  8. Parameter prm prmJobCode  
  9. QueryDef  qry qrySalesByRegion  
  10. Recordset rec recForecast  
  11. Relation rel relEmployeeDept  
  12. TableDef tbd tbdCustomers  
  13. User usr usrNew  
  14. Workspace wsp wspMine 

應(yīng)用程序頻繁使用許多菜單控件,對于這些控件具備一組唯一的命名約定很實用。除了最前面 "mnu" 標(biāo)記以外,菜單控件的前綴應(yīng)該被擴(kuò)展:對每一級嵌套增加一個附加前綴,將最終的菜單的標(biāo)題放在名稱字符串的最后。下表列出了一些例子。

推薦使用的菜單前綴

菜單標(biāo)題序列 菜單處理器名稱

  1. File Open mnuFileOpen  
  2. File Send Email mnuFileSendEmail  
  3. File Send Fax  mnuFileSendFax  
  4. Format Character mnuFormatCharacter  
  5. Help Contents mnuHelpContents 

#p#

當(dāng)使用這種命名約定時,一個特定的菜單組的所有成員一個接一個地列在 Visual Basic 的“屬性”窗口中。而且,菜單控件的名字清楚地表示出它們所屬的菜單項。為其它控件選擇前綴對于上面沒有列出的控件,應(yīng)該用唯一的由兩個或三個字符組成的前綴使它們標(biāo)準(zhǔn)化,以保持一致性。只有當(dāng)需要澄清時,才使用多于三個字符的前綴。常量和變量命名約定除了對象之外,常量和變量也需要良好格式的命名約定。本節(jié)列出了 Visual Basic 支持的常量和變量的推薦約定。并且討論標(biāo)識數(shù)據(jù)類型和范圍的問題。

變量應(yīng)該總是被定義在盡可能小的范圍內(nèi)。全局 (Public) 變量可以導(dǎo)致極其復(fù)雜的狀態(tài)機(jī)構(gòu),并且使一個應(yīng)用程序的邏輯非常難于理解。全局變量也使代碼的重用和維護(hù)更加困難。Visual Basic 的變量可以有下列范圍范圍 聲明位置 可見位置過程級 過程,子過程或函數(shù)過程中的 ‘Private’ 在聲明它的過程中模塊級 窗體或代碼模塊(.frm、.bas )的聲明部分中的 ‘Private’ 窗體或代碼模塊中的每一個過程全局 代碼模塊(.bas)的聲明部分中的 ‘Public’ 應(yīng)用程序中的每一處在 Visual Basic 的應(yīng)用程序中,只有當(dāng)沒有其它方便途徑在窗體之間共享數(shù)據(jù)時才使用全局變量。當(dāng)必須使用全局變量時,在一個單一模塊中聲明它們,并按功能分組。給這個模塊取一個有意義的名稱,以指明它的作用,如 Public.bas。
較好的編碼習(xí)慣是盡可能寫模塊化的代碼。例如,如果應(yīng)用程序顯示一個對話框,就把要完成這一對話任務(wù)所需要的所有控件和代碼放在單一的窗體中。這有助于將應(yīng)用程序的代碼組織在有用的組件中,并減小它運(yùn)行時的開銷。
除了全局變量(應(yīng)該是不被傳遞的),過程和函數(shù)應(yīng)該僅對傳遞給它們的對象操作。在過程中使用的全局變量應(yīng)該在過程起始處的聲明部分中標(biāo)識出來。此外,應(yīng)該用 ByVal 將參數(shù)傳遞給 Sub 過程及 function 過程,除非明顯地需要改變已傳遞的參數(shù)值。隨著工程大小的增長,劃分變量范圍的工作也迅速增加。在類型前綴的前面放置單字母范圍前綴標(biāo)明了這種增長,但變量名的長度并沒有增加很多。

變量范圍前綴
范圍 前綴 例子
全局 g gstrUserName
模塊級 m mblnCalcInProgress
本地到過程 無 dblVelocity
如果一個變量在標(biāo)準(zhǔn)模塊或窗體模塊中被聲明為 Public,那么該變量具有全局范圍。如果一個變量在標(biāo)準(zhǔn)模塊或窗體模塊中被分別聲明為 Private,那么該變量有模塊級范圍。
注意: 一致性是卓有成效地使用這種技術(shù)的關(guān)鍵;Visual Basic 中的語法檢查器不會捕捉以 "p." 開頭的模塊級變量。

常量

常量名的主體是大小寫混合的,每個單詞的首字母大寫。盡管標(biāo)準(zhǔn) Visual Basic 常量不包含數(shù)據(jù)類型和范圍信息,但是象 i、s、g 和 m 這樣的前綴對于理解一個常量的值和范圍還是很有用的。對于常量名,應(yīng)遵循與變量相同的規(guī)則。例如:

  1. mintUserListMax   '對用戶列表的最大限制  
  2. '(整數(shù)值,本地到模塊)  
  3. gstrNewLine       '新行字符  
  4. '(字符串,應(yīng)用程序全局使用) 

變量

聲明所有的變量將會節(jié)省編程時間,因為鍵入操作引起的錯誤減少了(例如,究竟是 aUserNameTmp,還是 sUserNameTmp,還是 sUserNameTemp)。在“選項”對話框的“編輯器”標(biāo)簽中,復(fù)選“要求變量聲明”選項。Option Explicit 語句要求在 Visual Basic 程序中聲明所有的變量。
應(yīng)該給變量加前綴來指明它們的數(shù)據(jù)類型。而且前綴可以被擴(kuò)展,用來指明變量范圍,特別是對大型程序。
用下列前綴來指明一個變量的數(shù)據(jù)類型。
變量數(shù)據(jù)類型
數(shù)據(jù)類型 前綴 例子

  1. String (字符串類型) str strFName  
  2. Integer (短整數(shù)類型) int intQuantity  
  3. Long (長整數(shù)類型) lng lngDistance  
  4. Single (單精度浮點(diǎn)數(shù)類型) sng sngAverage  
  5. Double (雙精度浮點(diǎn)數(shù)類型) dbl dblTolerance  
  6. Boolean (布爾類型) bln blnFound  
  7. Byte (字節(jié)類型) byt bytRasterData  
  8. Date (日期類型) dte dteNow  
  9. Currency (貨幣計算與定點(diǎn)計算類型) cur curRevenue  
  10. Object (對象類型) obj objCurrent  
  11. Variant (變體類型) vnt vntCheckSum 

描述變量和過程名


變量或過程名的主體應(yīng)該使用大小寫混合形式,并且應(yīng)該足夠長以描述它的作用。而且,函數(shù)名應(yīng)該以一個動詞起首,如 InitNameArray 或 CloseDialog。
對于頻繁使用的或長的項,推薦使用標(biāo)準(zhǔn)縮略語以使名稱的長度合理化。一般來說,超過 32 個字符的變量名在 VGA 顯示器上讀起來就困難了。
當(dāng)使用縮略語時,要確保它們在整個應(yīng)用程序中的一致性。在一個工程中,如果一會兒使用 Cnt, 一會兒使用 Count,將導(dǎo)致不必要的混淆。
用戶定義的類型在一項有許多用戶定義類型的大工程中,常常有必要給每種類型一個它自己的三個字符的前綴。如果這些前綴是以 "u" 開始的,那么當(dāng)用一個用戶定義類型來工作時,快速識別這些類型是很容易的。例如,ucli 可以被用來作為一個用戶定義的客戶類型變量的前綴。

4、在簡單的選擇條件情況下,使用IIf()函數(shù)

羅索的代碼:

  1. If nNum = 0 Then  
  2. sName = "sancy" 
  3. Else  
  4. sName = "Xu" 
  5. End If 

簡單的代碼:

  1. sName=IIf(nNum=0,"sancy","Xu") 

5、盡量使用Debug.Print進(jìn)行調(diào)試

在很多初學(xué)者的調(diào)試中,用MsgBox來跟蹤變量值.其實用Debug.Print不僅可以達(dá)到同樣的功效,而且在程序最后編譯過程中,會被忽略.而MsgBox必須手動注釋或刪除.
通常:
MsgBox nName
應(yīng)該:
Debug.Print nName

6、在重復(fù)對某一對象的屬性進(jìn)行修改時,盡量使用With....End With

通常:

  1. Form1.Height = 5000 
  2. Form1.Width = 6000 
  3. Form1.Caption = "This is MyLabel" 

應(yīng)該:

  1. With Form1  
  2. .Height = 5000 
  3. .Width = 6000 
  4. .Caption = "This is MyLabel" 
  5. End With 

這種結(jié)構(gòu)程序執(zhí)行效率比較高,特別在循環(huán)語句里。

7、MsgBox中盡量使用消息圖標(biāo),這樣程序比較有規(guī)范
一般來說

  1. vbInformation 用來提示確認(rèn)或成功操作的消息  
  2. vbExclamation 用來提示警告的消息  
  3. vbCritical 用來提示危機(jī)情況的消息  
  4. vbQuestion 用來提示詢問的消息 

8、在可能的情況下使用枚舉
枚舉的格式為

  1. [Public | Private] Enum name  
  2. membername [= constantexpression_r_r_r]  
  3. membername [= constantexpression_r_r_r]  
  4. ....  
  5. End Enum 

Enum 語句包含下面部分:
部分 描述
Public 可選的。表示該 Enum 類型在整個工程中都是可見的。Enum 類型的缺省情況是 Public。
Private 可選的。表示該 Enum 類型只在所聲明的模塊中是可見的。
name 必需的。該 Enum 類型的名稱。name 必須是一個合法的 Visual Basic 標(biāo)識符,在定義該 Enum 類型的變量或參數(shù)時用該名稱來指定類型。
membername 必需的。用于指定該 Enum 類型的組成元素名稱的合法 Visual Basic 標(biāo)識符。
constantexpression_r_r_r 可選的。元素的值(為 Long 類型)??梢允莿e的 Enum 類型。如果沒有指定 constantexpression_r_r_r,則所賦給的值或者是 0(如果該元素是第一個 membername),或者比其直接前驅(qū)的值大 1。

說明
所謂枚舉變量,就是指用 Enum 類型定義的變量。變量和參數(shù)都可以定義為 Enum 類型。Enum 類型中的元素被初始化為 Enum 語句中指定的常數(shù)值。所賦給的值可以包括正數(shù)和負(fù)數(shù),且在運(yùn)行時不能改變。例如:

  1. Enum SecurityLevel IllegalEntry = -1 SecurityLevel1 = 0 SecurityLevel2 = 1 End Enum 


Enum 語句只能在模塊級別中出現(xiàn)。定義 Enum 類型后,就可以用它來定義變量,參數(shù)或返回該類型的過程。不能用模塊名來限定 Enum 類型。類模塊中的 Public Enum 類型并不是該類的成員;只不過它們也被寫入到類型庫中。在標(biāo)準(zhǔn)模塊中定義的 Enum 類型則不寫到類型庫中。具有相同名字的 Public Enum 類型不能既在標(biāo)準(zhǔn)模塊中定義,又在類模塊中定義,因為它們共享相同的命名空間。若不同的類型庫中有兩個 Enum 類型的名字相同,但成員不同,則對這種類型的變量的引用,將取決于哪一個類型庫具有更高的引用優(yōu)先級。
不能在 With 塊中使用 Enum 類型作為目標(biāo)。
Enum 語句示例下面的示例演示用 Enum 語句定義一個命名常數(shù)的集合。在本例中是一些可以選擇的顏色常數(shù)用于設(shè)計數(shù)據(jù)庫的數(shù)據(jù)輸入窗體。

  1. Public Enum InterfaceColors  
  2. icMistyRose = &HE1E4FF&  
  3. icSlateGray = &H908070&  
  4. icDodgerBlue = &HFF901E&  
  5. icDeepSkyBlue = &HFFBF00&  
  6. icSpringGreen = &H7FFF00&  
  7. icForestGreen = &H228B22&  
  8. icGoldenrod = &H20A5DA&  
  9. icFirebrick = &H2222B2&  
  10. End Enum 

好處是加快VB.NET編程速度

【編輯推薦】

  1. 淺析VB.NET組合時間值
  2. VB.NET NotifyIcon控件學(xué)習(xí)經(jīng)驗
  3. 淺析VB.NET使用MonthCalendar控件
  4. VB.NET Split函數(shù)學(xué)習(xí)筆記
  5. VB.NET水晶報表控件經(jīng)驗總結(jié)
責(zé)任編輯:田樹 來源: 博客
相關(guān)推薦

2009-10-14 15:34:29

VB.NET窗體編程模

2009-11-02 10:03:28

VB.NET臨時文件

2009-10-14 10:19:57

VB.NET Doma

2009-10-15 17:50:48

VB.NET Spli

2009-10-26 15:57:07

VB.NET使用Ora

2009-10-13 14:50:59

VB.NET Envi

2009-10-14 14:04:29

VB.NET創(chuàng)建Web

2009-11-10 17:04:29

VB.NET基礎(chǔ)知識

2009-10-14 16:46:25

VB.NET OnSt

2009-11-03 10:51:33

VB.NET共享

2009-10-21 10:05:30

VB.NET運(yùn)行環(huán)境

2009-10-23 14:06:07

VB.NET類對象

2009-10-27 11:32:42

VB.NET Disp

2009-10-20 10:23:08

VB.NET多線程編程

2009-10-14 13:15:09

VB.NET數(shù)據(jù)綁定

2009-11-03 10:00:20

VB.NET New方

2009-10-28 10:51:32

VB.NET默認(rèn)屬性

2009-11-03 13:02:28

VB.NET Wind

2009-11-02 17:49:05

VB.NET抽象類

2009-10-29 16:23:42

VB.NET實現(xiàn)IEn
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號