1. "&" menggantikan "+"
2. Penamaan variabel harus peka huruf besar-kecil, pernyataan harus terorganisir dengan baik, dan pemeliharaan kode sumber harus dilakukan
3. Harap kembangkan kebiasaan baik berikut tentang "konvensi penamaan objek"
4. Dalam kondisi pemilihan sederhana, gunakan fungsi IIf()
5. Coba gunakan Debug.Print untuk debugging
6. Saat berulang kali memodifikasi properti suatu objek, coba gunakan With....End With
7. Usahakan menggunakan ikon pesan di MsgBox agar program lebih terstandarisasi. 8. Gunakan enumerasi bila memungkinkan.
1. "&" menggantikan "+"
Dalam bahasa pemrograman banyak orang, "+" digunakan untuk menghubungkan string, yang dapat dengan mudah menyebabkan ambiguitas. Praktik yang baik adalah menggunakan "&" untuk menggabungkan string.
Salah:
Redupkan Pesan Sebagai String
sPesan = "1" + "2"
benar:
Redupkan Pesan Sebagai String
sPesan = "1" & "2"
Catatan: Ada spasi setelah "&"
2. Penamaan variabel harus peka huruf besar-kecil, pernyataan harus terorganisir dengan baik, dan pemeliharaan kode sumber harus dilakukan
Mari kita bandingkan dua potongan kode berikut:
Baca kode yang sulit:
Redupkan SNAME Sebagai String
Redupkan NTURN Sebagai Integer
Jika NTURN = 0 Maka
Jika SNAME = "vbeden" Lalu
Lakukan Selagi NTURN < 4
NTURN = NTURN + 1
Lingkaran
Akhiri Jika
Akhiri Jika
Kode yang mudah dibaca:
Redupkan Nama Sebagai String
Redupkan Sebagai Integer
Jika nPutar = 0 Maka
Jika sName = "vbeden" Lalu
Lakukan Sambil nPutar < 4
nPutar = nPutar + 1
Lingkaran
Akhiri Jika
Akhiri Jika
[kembali ke indeks]
3. Harap kembangkan kebiasaan baik berikut tentang "konvensi penamaan objek"
Awalan kontrol yang direkomendasikan
Contoh awalan tipe kontrol
Panel 3D pnl pnlGrup
ADO Data ado adoBiblio
Tombol animasi dan aniMailBox
Centang kotak chk chkReadOnly
Kotak kombo, kotak daftar drop-down cbo cboBahasa Inggris
Tombol perintah cmd cmdKeluar
Dialog umum dlg dlgFileOpen
Komunikasi com comFax
Kontrol (digunakan dalam prosedur ketika tipe spesifik tidak diketahui) ctr ctrCurrent
Data dat Biblio
Kotak kombo terikat data dbcbo dbcboLanguage
Grid terikat data dbgrd dbgrdQueryResult
Kotak daftar terikat data dblst dblstJobType
Kombo data dbc dbcAuthor
Jaringan data dgd dgdJudul
Daftar data dbl dblPublisher
Pengulang data drp drpLokasi
Pemilih tanggal dtp dtp Diterbitkan
Kotak daftar direktori dirSource
Kotak daftar drive drv drvTarget
Kotak daftar file fil filSource
Bilah gulir datar fsb fsbMove
Formulir dari frmEntry
Bingkai dari fraBahasa
Mengukur atau mengukurStatus
Pendapatan Graphgragra
Grid grd grdHarga
Flexgrid hierarki flex flexOrders
Bilah gulir horizontal hsb hsbVolume
Gambar img imgIkon
Kombo gambar imgcbo imgcboProduct
Daftar Gambar atau SemuaIkon
Label lbl lblPesan Bantuan
Kotak centang ringan lwchk lwchkArchive
Kotak kombo ringan lwcbo lwcboJerman
Tombol perintah ringan lwcmd lwcmdHapus
Bingkai ringan lwfra lwfraSaveOptions
Bilah gulir horizontal ringan lwhsb lwhsbVolume
Kotak daftar ringan lwlst lwlstCostCenters
Tombol opsi ringan lwopt lwoptIncomeLevel
Kotak teks ringan lwtxt lwoptStreet
Bilah gulir vertikal ringan lwvsb lwvsbTahun
Garis lin linVertikal
Kotak daftar lstPolicyCodes
ListView lvw lvwHeadings
Pesan MAPI mpm mpmSentMessage
Sesi MAPI mps mpsSession
MCI mci mciVideo
Menu mnu mnuFileTerbuka
Tampilan bulan mvw mvwPeriod
MS Chart chSalesbyRegion
Pesan MS Flex grid msgClients
MS Tab mst mstPertama
Wadah OLE ole oleLembar Kerja
Tombol opsi pilih optGender
Kotak gambar gambar picVGA
Klip gambar clp clpToolbar
ProgressBar prg prgLoadFile
Judul Data Jarak Jauh rd rd
RichTextBox rtf rtfLaporan
Bentuk shp shpLingkaran
Slider sld sldSkala
Putar spn spnPages
StatusBar sta staDateTime
SysInfo sys sysMonitor
TabStrip tab tabOpsi
Kotak teks txt txtNamaBelakang
Pengatur waktu tmr tmrAlarm
Toolbar tlb tlbAksi
TreeView tre treOrganisasi
UpDown perbarui arah perbarui
Bilah gulir vertikal vsb vsbRate
--------------------------------------------------- -----------------------------------
Awalan yang direkomendasikan untuk Objek Akses Data (DAO)
Gunakan awalan berikut untuk menunjukkan objek akses data
Contoh awalan objek database
Laporan Kontainer Kontainer
Basis data db dbAkun
DBEngine menjadi dbeJet
Dokumen dokumen docSalesReport
Bidang fld fldAlamat
Grup grp grpKeuangan
Indeks ix idxAge
Parameter prm prmJobCode
QueryDef qry qrySalesByRegion
Rekaman rekaman recForecast
Relasi rel relEmployeeDept
TableDef tbd tbdCustomers
Pengguna usr usrBaru
Ruang kerja wsp wspMine
--------------------------------------------------- -----------------------------------
Aplikasi sering kali menggunakan banyak kontrol menu, dan berguna untuk memiliki seperangkat konvensi penamaan unik untuk kontrol ini. Selain tag awal "mnu", awalan kontrol menu harus diperluas: awalan tambahan ditambahkan untuk setiap tingkat penyusunan, menempatkan judul menu terakhir di akhir string nama. Tabel di bawah mencantumkan beberapa contoh.
Awalan menu yang direkomendasikan
Nama pengendali menu urutan judul menu
Buka File mnuFileOpen
File Kirim Email mnuFileSendEmail
Kirim File Faks mnuFileSendFax
Format Karakter mnuFormatCharacter
Isi Bantuan mnuHelpContents
Saat Anda menggunakan konvensi penamaan ini, semua anggota grup menu tertentu dicantumkan satu demi satu di jendela Properti Visual Basic. Selain itu, nama kontrol menu dengan jelas menunjukkan item menu mana mereka berada.
Pilih awalan untuk kontrol lainnya
Kontrol yang tidak tercantum di atas harus distandarisasi dengan awalan dua atau tiga karakter yang unik untuk konsistensi. Gunakan awalan yang lebih panjang dari tiga karakter hanya jika diperlukan klarifikasi.
Konvensi penamaan konstan dan variabel
Selain objek, konstanta dan variabel juga memerlukan konvensi penamaan yang baik. Bagian ini mencantumkan konvensi yang direkomendasikan untuk konstanta dan variabel yang didukung Visual Basic. dan membahas masalah mengidentifikasi tipe dan rentang data.
Variabel harus selalu didefinisikan dalam cakupan sekecil mungkin. Variabel global (Publik) dapat menyebabkan struktur keadaan yang sangat kompleks dan membuat logika aplikasi menjadi sangat sulit untuk dipahami. Variabel global juga membuat penggunaan kembali dan pemeliharaan kode menjadi lebih sulit.
Variabel dalam Visual Basic dapat memiliki cakupan berikut
posisi deklarasi ruang lingkup posisi terlihat
'Pribadi' dalam prosedur tingkat prosedur, sub-prosedur atau prosedur fungsi dalam prosedur yang dideklarasikan
'Pribadi' di bagian deklarasi formulir tingkat modul atau modul kode (.frm, .bas) Setiap prosedur dalam modul formulir atau kode
'Publik' di bagian deklarasi modul kode global (.bas) di mana pun dalam aplikasi
Dalam aplikasi Visual Basic, gunakan variabel global hanya ketika tidak ada cara lain yang mudah untuk berbagi data antar formulir. Ketika variabel global harus digunakan, deklarasikan variabel tersebut dalam satu modul dan kelompokkan berdasarkan fungsinya. Berikan modul ini nama yang bermakna untuk menunjukkan perannya, seperti Public.bas.
Praktik pengkodean yang baik adalah menulis kode yang se-modular mungkin. Misalnya, jika aplikasi Anda menampilkan kotak dialog, letakkan semua kontrol dan kode yang diperlukan untuk melengkapi kotak dialog tersebut dalam satu formulir. Hal ini membantu mengatur kode aplikasi menjadi komponen-komponen yang berguna dan mengurangi overhead runtime.
Dengan pengecualian variabel global (yang tidak boleh disebarluaskan), prosedur dan fungsi hanya boleh beroperasi pada objek yang diteruskan ke variabel tersebut. Variabel global yang digunakan dalam suatu prosedur harus diidentifikasi di bagian deklarasi di awal prosedur. Selain itu, ByVal harus digunakan untuk meneruskan parameter ke Sub prosedur dan prosedur fungsi, kecuali jika ada kebutuhan yang jelas untuk mengubah nilai parameter yang diteruskan.
Seiring dengan bertambahnya ukuran proyek, pekerjaan variabel pelingkupan meningkat dengan cepat. Menempatkan awalan rentang satu huruf di depan awalan tipe menandai pertumbuhan ini, namun panjang nama variabel tidak bertambah banyak.
awalan cakupan variabel
Contoh awalan rentang
gstrUserName global
Tingkat modul mmblnCalcInProgress
Lokal untuk diproses tanpa dblVelocity
Jika suatu variabel dideklarasikan sebagai Publik dalam modul standar atau modul formulir, maka variabel tersebut memiliki cakupan global. Jika suatu variabel dideklarasikan Pribadi dalam modul standar atau modul formulir, maka variabel tersebut memiliki cakupan tingkat modul.
Catatan: Konsistensi adalah kunci untuk menggunakan teknik ini secara efektif; pemeriksa sintaksis di Visual Basic tidak akan menangkap variabel tingkat modul yang dimulai dengan "p."
konstan
Badan nama konstanta menggunakan huruf campuran, dengan huruf pertama setiap kata menggunakan huruf kapital. Meskipun konstanta Visual Basic standar tidak berisi informasi tipe data dan rentang, prefiks seperti i, s, g, dan m berguna untuk memahami nilai dan rentang konstanta. Untuk nama konstanta, aturan yang sama harus diikuti seperti untuk variabel. Misalnya:
mintUserListMax 'Batas maksimum pada daftar pengguna
'(nilai integer, lokal ke modul)
gstrNewLine 'Karakter baris baru
'(String, digunakan secara global oleh aplikasi)
variabel
Mendeklarasikan semua variabel akan menghemat waktu pemrograman karena kesalahan yang disebabkan oleh operasi pengetikan akan lebih sedikit (misalnya, aUserNameTmp, sUserNameTmp, atau sUserNameTemp). Di tab Editor pada kotak dialog Opsi, centang opsi Memerlukan deklarasi variabel. Pernyataan Option Explicit mengharuskan semua variabel dideklarasikan dalam program Visual Basic.
Variabel harus diberi awalan untuk menunjukkan tipe datanya. Dan awalannya dapat diperluas untuk menunjukkan cakupan variabel, terutama untuk program besar.
Gunakan awalan berikut untuk menunjukkan tipe data suatu variabel.
Tipe data variabel
Contoh awalan tipe data
String (Jenis string) str strFName
Integer (tipe integer pendek) int intQuantity
Panjang (tipe integer panjang) lng lngDistance
Tunggal (tipe angka floating point presisi tunggal) sng sngAverage
Ganda (tipe floating point presisi ganda) dbl dblToleransi
Boolean (tipe Boolean) bln blnDitemukan
Byte (tipe byte) bytbytRasterData
Tanggal (tipe tanggal) dte dteNow
Mata uang (perhitungan mata uang dan jenis perhitungan titik tetap) saat ini Pendapatan
Objek (tipe objek) obj objCurrent
Varian vnt vntCheckSum
Jelaskan nama variabel dan prosedur
Isi nama variabel atau prosedur harus dalam huruf campuran dan harus cukup panjang untuk menjelaskan tujuannya. Selain itu, nama fungsi harus dimulai dengan kata kerja, seperti InitNameArray atau CloseDialog.
Untuk istilah yang sering digunakan atau panjang, disarankan menggunakan singkatan standar untuk merasionalisasi panjang nama. Secara umum, nama variabel yang panjangnya lebih dari 32 karakter sulit dibaca pada monitor VGA.
Saat menggunakan singkatan, pastikan singkatan tersebut konsisten di seluruh aplikasi. Dalam sebuah proyek, jika Anda menggunakan Cnt untuk sementara dan Count untuk sementara, ini akan menimbulkan kebingungan yang tidak perlu.
tipe yang ditentukan pengguna
Dalam proyek besar dengan banyak tipe yang ditentukan pengguna, seringkali setiap tipe perlu diberi awalan tiga karakternya sendiri. Jika awalan ini dimulai dengan "u", mudah untuk mengidentifikasi tipe ini dengan cepat saat bekerja dengan tipe yang ditentukan pengguna. Misalnya, ucli dapat digunakan sebagai awalan untuk variabel tipe klien yang ditentukan pengguna.
[kembali ke indeks]
4. Dalam kondisi pemilihan sederhana, gunakan fungsi IIf()
Kode Rosso:
Jika nNum = 0 Maka
sNama = "sancy"
Kalau tidak
sNama = "Xu"
Akhiri Jika
Kode sederhana:
sName=IIf(nNum=0,"sancy","Xu")
5. Coba gunakan Debug.Print untuk debugging
Dalam banyak debugging pemula, MsgBox digunakan untuk melacak nilai variabel. Faktanya, Debug.Print tidak hanya dapat mencapai efek yang sama, tetapi juga akan diabaikan selama kompilasi akhir program harus dikomentari atau dihapus secara manual.
umumnya:
Kotak Pesan nNama
sebaiknya:
Debug.Cetak nNama
6. Saat berulang kali memodifikasi properti suatu objek, coba gunakan With....End With
umumnya:
Bentuk1.Tinggi = 5000
Bentuk1.Lebar = 6000
Form1.Caption = "Ini Label Saya"
sebaiknya:
Dengan Formulir1
.Tinggi = 5000
.Lebar = 6000
.Caption = "Ini adalah Label Saya"
Akhiri Dengan
Efisiensi eksekusi program struktur ini relatif tinggi, terutama dalam pernyataan loop.
7. Usahakan gunakan ikon pesan di MsgBox agar programnya lebih terstandarisasi.
Secara umum
vbInformation adalah pesan yang digunakan untuk meminta konfirmasi atau operasi berhasil
vbExclamation digunakan untuk meminta pesan peringatan
vbPesan penting yang digunakan untuk memicu situasi krisis
vbQuestion adalah pesan yang digunakan untuk menanyakan pertanyaan
[kembali ke indeks]
8. Gunakan enumerasi jika memungkinkan
Format pencacahannya adalah
[Publik |. Pribadi] Nama enum
nama anggota [= ekspresi konstan]
nama anggota [= ekspresi konstan]
....
Akhir Enum
Pernyataan Enum berisi bagian-bagian berikut:
deskripsi sebagian
Publik Opsional. Menunjukkan bahwa tipe Enum terlihat di seluruh proyek. Default untuk tipe Enum adalah Publik.
Pribadi Opsional. Menunjukkan bahwa tipe Enum hanya terlihat di modul yang dideklarasikan.
nama diperlukan. Nama tipe Enum ini. nama harus berupa pengidentifikasi Visual Basic resmi yang digunakan untuk menentukan tipe saat mendefinisikan variabel atau parameter tipe Enum ini.
nama anggota diperlukan. Pengidentifikasi Visual Basic legal yang menentukan nama elemen penyusun tipe Enum ini.
ekspresi konstan opsional. Nilai elemen (tipe Long). Bisa tipe Enum lainnya. Jika ekspresi konstan tidak ditentukan, nilai yang diberikan adalah 0 (jika elemen adalah nama anggota pertama), atau lebih besar dari nilai pendahulunya.
menjelaskan
Variabel enumerasi disebut mengacu pada variabel yang didefinisikan dengan tipe Enum. Variabel dan parameter dapat didefinisikan sebagai tipe Enum. Elemen tipe Enum diinisialisasi ke nilai konstanta yang ditentukan dalam pernyataan Enum. Nilai yang ditetapkan dapat mencakup angka positif dan negatif dan tidak dapat diubah saat runtime. Misalnya:
Enum SecurityLevel IllegalEntry = -1 SecurityLevel1 = 0 SecurityLevel2 = 1 Enum Akhir
Pernyataan enum hanya dapat muncul di tingkat modul. Setelah mendefinisikan tipe Enum, Anda dapat menggunakannya untuk mendefinisikan variabel, parameter, atau prosedur yang mengembalikan tipe tersebut. Tipe enum tidak dapat dikualifikasikan dengan nama modul. Tipe Enum Publik dalam modul kelas bukan anggota kelas; mereka hanya ditulis ke perpustakaan tipe. Tipe enum yang didefinisikan dalam modul standar tidak ditulis ke perpustakaan tipe. Tipe Enum Publik dengan nama yang sama tidak dapat didefinisikan dalam modul standar dan modul kelas karena keduanya berbagi namespace yang sama. Jika ada dua tipe Enum di perpustakaan tipe berbeda dengan nama yang sama tetapi anggota berbeda, referensi ke variabel tipe ini akan bergantung pada perpustakaan tipe mana yang memiliki prioritas referensi lebih tinggi.
Anda tidak dapat menggunakan tipe Enum sebagai target di blok With.
Contoh pernyataan enum
Contoh berikut menunjukkan penggunaan pernyataan Enum untuk mendefinisikan kumpulan konstanta bernama. Dalam hal ini ada beberapa konstanta warna yang dapat dipilih yang digunakan untuk mendesain formulir entri data untuk database.
Warna Antarmuka Enum Publik
icMistyRose = &HE1E4FF&
icSlateGray = &H908070&
icDodgerBiru = &HFF901E&
icDeepSkyBlue = &HFFFF00&
icSpringHijau = &H7FFF00&
icForestHijau = &H228B22&
icGoldenrod = &H20A5DA&
icFirebrick = &H2222B2&
Akhir Enum
Keuntungannya adalah mempercepat pemrograman